2

我们可以在 Objective C 中编写延续传递风格的代码吗?如果是的话,你能举一些例子吗?

4

1 回答 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 回答