iOS block简单传值

时间:2023-03-09 16:30:06
iOS block简单传值

(1)声明block变量并设置返回值类型

typedef int(^MYBlock)(NSString *);

@property (nonatomic, copy) MYBlock block;

(2)调用Block方法(发送),并接收返回值

int i = self.block(@"123”);

NSLog(@"%d",i);

(3)调用Block方法(接收),并接收返回值

self.ceshi.block =  ^ (NSString *string) {

NSLog(@"%@",string);

return 2;

};

(4)利用typedef定义block类型(和指向函数的指针很像)

(类)Typedef int(^MyBlock)(int ,int);

以后就可以利用这种类型来定义block变量了。

(类)MyBlock block1,block2;

(类)int i = block1(3,4);

(主)block1=^(int a,int b){

return a-b;

};