ViewController.h文件
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
@property (nonatomic, assign) int result;
- (ViewController *(^)(int value))add;
+ (int)manager:(void(^)(ViewController *vc))block;
@end
ViewController.m文件
#import "ViewController.h"
@interface ViewController()
@end
@implementation ViewController
+ (int)manager:(void(^)(ViewController *vc))block{
ViewController *vc = [ViewController new];
block(vc);
return vc.result;
}
- (ViewController *(^)(int value))add{
return ^ViewController *(int value){
_result += value;
return self;
}
}
- (void)viewDidLoad{
[super viewDidLoad];
int result = [ViewController manager:^(ViewController *vc){
vc.add(1).add(12);
}];
//result 为13
//vc.add返回的是一个block,这个vc.add相当于在调用返回的这个block,需要一个int参数,返回值是ViewController对象本身,然后再.add,重复之前的动作
}
@end
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。