我们可以在 Objective C 中编写延续传递风格的代码吗?如果是的话,你能举一些例子吗?
问问题
384 次
1 回答
1
Continuation Passing Style (CPS) 是一种使用匿名函数替换返回语句的编程风格。一个函数不会返回一个值,而是将另一个函数作为参数。然后,当它到达它应该返回一个值的点时,它会调用传入的函数,并将该值作为参数。
在 Objective-C 中,我们现在有块形式的匿名函数,因此可以使用块来实现 CPS。
这是 CPS 外观的示例。这是标准样式的代码:
NSString *string = [obj stringWhatever];
// use string
在这里它被转换为继续传递样式:
[obj stringWhatever: ^(NSString *string) {
// use string
}];
于 2014-01-22T04:32:38.237 回答