Block小常识

作为苹果推荐的一种数据回调方式和数据类型,Block经常在项目中使用,但又经常忘记它特有的写法,所以专门做个小笔记,备查.

1.作为局部变量
1
returnType (^blockName)(parameterTypes) = ^returnType(parameters) {...};
2.作为属性
1
@property (nonatomic, copy) returnType (^blockName)(parameterTypes);
3.作为方法参数
1
- (void)someMethodThatTakesABlock:(returnType (^)(parameterTypes))blockName;
4.作为回调参数
1
[someObject someMethodThatTakesABlock:^returnType (parameters) {...}];
5.typedef的简写
1
typedef returnType (^TypeName)(parameterTypes);
TypeName blockName = ^returnType(parameters) {...};
6.self的弱引用(防止循环引用)
1
__weak typeof(self) weakSelf = self;
7.修改局部变量
1
__block NSString *someString = @"can be changed by Block";