我们可以在Objective C中编写Continuation传递样式代码吗? 如果是的话,你能举一些例子吗?
答案 0 :(得分:1)
Continuation Passing Style或CPS是一种使用匿名函数替换return语句的编程风格。函数将取另一个函数作为参数,而不是返回值。然后,当它到达它将返回一个值的点时,它会调用传入的函数,而不是将值作为参数。
在Objective-C中,我们现在以块的形式存在匿名函数,因此可以使用块来实现CPS。
以下是CPS外观的示例。这是标准风格的代码:
NSString *string = [obj stringWhatever];
// use string
此处它被转换为续传风格:
[obj stringWhatever: ^(NSString *string) {
// use string
}];