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 };