各个地方block的写法

面试问道了block怎么写。长时间使用代码片段,一时竟没写出来。

衰啊!!!

记录下:

block的组成

void(^myBlock)(NSString *str1,NSString *str2);

void:返回值
myBlock:名字
str1,str2 : 参数(可以是很多个)

声明属性时的写法:

//最好用copy修饰
@property (copy, nonatomic) void (^tfBlock)(UITextField *textField);

typedef 的时候

typedef void(^success) (NSString *states);

@interface LQSecondBlockViewController ()

@property (nonatomic,copy) success networkingSuccess;

@end

局部变量时

int(^myBlock)(int i )= ^(int i){
        return i + 1;
};
int j = myBlock(1);

作为方法的参数时

- (void)lwqNetWorkingsuccess:(void(^)(NSString * states)) success{

}

总结一下

作为方法的参数时 不需要在“^‘的后面加block的名字。
其余的情况都需要加。

猜你喜欢

转载自blog.csdn.net/lwq718691587/article/details/60961868