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.取消选中当前的item32 menu->_selectedItem.selected = NO;33 menu->_selectedItem = nil;34 // 2.清空正在显示的菜单35 menu->_showingMenu = nil;36 37 38 };