block用法学习

利用block传值

1.要传一个值给外界,则让block作为参数

ps:在person.h中定义一个方法

 @property(nonatomic,strong) void(^block)();

-(void)eat:(void(^)(NSString *))block; 

在person.m中实现这个方法

-(void)eat:(void (^)(NSString *))block{

block(@"苹果");

}

在外界调用

Person * p = [[Person alloc]init];

[p eat:^(NSString * s) {

NSLog(@"爱吃%@",s);

}];

这样就把苹果这个字符串由person传到了外界

2.由外界传值给person类,person类写一个block作为返回值的方法

person.h

-(void(^)(int))run;

person.m

-(void (^)(int))run

{

return ^(int m){

NSLog(@"哥么跑起来了!!跑了%d",m);

};

}

外界调用

person *p = [[person alloc] init];

p.run(100);

由此,100即被传入到了person类中

总结:灵活使用block作为参数和返回值,可以灵活的传值给需要传递的对象

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容