您的位置:首页 > 其它

block语法

2016-03-09 22:14 232 查看
1.作为一个局部变量:

returnType (^blockName)(parameterTypes) = ^returnType(parameters) {...};

int (^myBlock)(int,int) = ^int(int
a,int b){
return a + b;
};
2.作为属性

//@property (nonatomic, copy) returnType (^blockName)(parameterTypes);
@property (nonatomic,copy)
float (^myBlock2)(float a,int b);

3.作为方法

- (void)propertyObjBlock:(int (^)(int a,int
b))myBlock3;

4.调用

__block int m =5, n =
3;

PerportyBlock *perportyBlcok = [[PerportyBlockalloc]
init];

[perportyBlcok propertyObjBlock:^int(int a,int
b) {

return m + n;

}];

5.类型代替

//写一个block类型名为BL
typedef void(^BL)(NSMutableDictionary *dic);

用BL类型声明一个block 属性
(一定要使用copy)
@property (nonatomic,
copy)BL block;

也可以用BL类型直接写一个block
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: