Block的定义和使用

 1 Block的使用:
 2 注意,block要用copy策略
 3 @interface TGDealBottomMenu : UIView
 4 
 5 @property (nonatomic, copy) void (^hideBlock)();//定义一个block
 6 
 7 
 8 
 9 在TGDealBottomMenu.m文件中这样调用:
10 注意:首先要判断是否为nil,如果不为空,再调用
11 if (_hideBlock) {
12         _hideBlock();
13 
14     }
15 
16 
17 //如下所示,当block对象为成员变量时
18 @interface TGDealTopMenu()
19 
20 {
21     TGDealBottomMenu *_showingMenu; // 正在展示的底部菜单
22 
23 }
24 
25 
26 
27 //则回调函数应这样写
28 // 设置block回调
29     __unsafe_unretained TGDealTopMenu *menu = self;
30     _showingMenu.hideBlock = ^{
31         // 1.取消选中当前的item
32         menu->_selectedItem.selected = NO;
33         menu->_selectedItem = nil;
34         // 2.清空正在显示的菜单
35         menu->_showingMenu = nil;
36 
37 
38     };

 

posted @ 2013-11-12 01:29  yyh123  阅读(399)  评论(0编辑  收藏  举报