一般用到的枚举书写为:
typedef enum :NSInteger
{
small,
big
}Weight;
typedef enum {
Left,
Right
}orientation;
//定义block带参数 以及不带参数有返回值以及没有返回值
typedef void (^click)();
@property(nonatomic,assign)click block;
@property(nonatomic,assign)void (^clickBlock)();
@property(nonatomic,assign)void (^clickTagBlock)(int tag);
@property(nonatomic,assign)NSString * (^clickStrBlock)(int tag);
// block 作为函数参数
-(void)finishedWithBlock:(NSString *(^)(int tag))myBlock
{
}
-(void)clickWithBlock:(void(^)())myBlock
{
}
-(void)clickWithTagBlock:(void(^)(int tag))myBlock
{
}
// 调用block
[selfclickWithBlock:^{
}];
[selfclickWithTagBlock:^(int tag) {
}];
[self finishedWithBlock:^NSString *(int tag) {
NSString *str;
return str;
}];
所谓回调 就是先写好在什么条件下触发执行函数的操作(block)然后在需要的的时候将这个函数作为参数传入。