Objective c 目标C中的连续传递式代码

Objective c 目标C中的连续传递式代码,objective-c,functional-programming,objective-c-blocks,continuation-passing,Objective C,Functional Programming,Objective C Blocks,Continuation Passing,我们可以用目标C编写连续传递式代码吗? 如果是,您能举一些例子吗?连续传递样式,或CPS,是一种使用匿名函数替换返回语句的编程样式。函数将使用另一个函数作为参数,而不是返回值。然后,当它返回一个值时,它调用传入的函数,并将该值作为参数 在Objective-C中,我们现在有块形式的匿名函数,因此可以使用块来实现CPS 下面是一个CPS外观的示例。这是标准样式代码: NSString *string = [obj stringWhatever]; // use string 在这里,它被

我们可以用目标C编写连续传递式代码吗?
如果是,您能举一些例子吗?

连续传递样式,或CPS,是一种使用匿名函数替换返回语句的编程样式。函数将使用另一个函数作为参数,而不是返回值。然后,当它返回一个值时,它调用传入的函数,并将该值作为参数

在Objective-C中,我们现在有块形式的匿名函数,因此可以使用块来实现CPS

下面是一个CPS外观的示例。这是标准样式代码:

NSString *string = [obj stringWhatever];
    // use string
在这里,它被转换为连续传球风格:

[obj stringWhatever: ^(NSString *string) {
    // use string
}];

谢谢你能举例说明如何将一个块传递给另一个块吗?顺便说一句,是否可以传递多个参数?这将帮助您我尝试使用此代码,但不起作用..这是我的代码:NSDate*obj=[NSDate date];[obj描述:^(NSString*s){NSLog(@“%@”,s);}]@昆胡:你不能随意地采用任何随机方法,然后将其转化为延拓方法
stringWhatever
stringWhatever:
是两种具有不同实现语义的不同方法。@KunHu您熟悉其他语言中的CPS吗?它的工作原理完全相同。如果你需要介绍Objective-C,这里有很多书。