13、函数




14、闭包




应用场景:
先看OC的实现
- (void)viewDidLoad {
[super viewDidLoad];
[self loadData:^(NSString *str) {
NSLog(@"我是回调结果=%@",str);
}];
}
-(void)loadData:(void(^)(NSString * str)) finished{
dispatch_async(dispatch_get_global_queue(0, 0), ^{
NSLog(@"耗时操作");
dispatch_sync(dispatch_get_main_queue(), ^{
NSLog(@"回到主线程");
finished(@"我是html");
});
});
}
14、尾随闭包
不要求自己写,但是要看懂,Swift中有大量闭包

网友评论