深入理解 Blocks 与 Operation Queues
1. Blocks 基础
Blocks 是一种强大的编程工具,它可以捕获外部变量的值,并在需要时执行代码。当在 Block 内部引用外部变量时,会捕获该变量在 Block 创建时刻的值,供 Block 代码使用。
例如,在 iOS 中可以使用 Block 实现动画完成后改变视图控制器背景颜色的操作:
SomeViewController* myViewController = [ code omitted ];
[self presentModalViewController:myViewController animated:YES completion:^{
myViewController.view.backgroundColor = [UIColor yellowColor];
}];
Blocks 的优势在于:
- 延迟执行:可以将代码的执行推迟到需要的时候,适用于动画、网络请求等场景。
- 代码聚合:将相关代码放在一起,避免代码分散,提高代码的可读性和可维护性。
以下是使用 Block 过滤数组的示例:
// Filter an array of strings down to only strings that begin with the word "Apple"
NSPredicate* filterPredicate = [NSPredicate predicateWithBloc
超级会员免费看
订阅专栏 解锁全文
765

被折叠的 条评论
为什么被折叠?



