Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa touch 在NSOperation类中,完成块比回调函数有什么优势_Cocoa Touch_Cocoa_Callback_Objective C Blocks_Nsoperation - Fatal编程技术网

Cocoa touch 在NSOperation类中,完成块比回调函数有什么优势

Cocoa touch 在NSOperation类中,完成块比回调函数有什么优势,cocoa-touch,cocoa,callback,objective-c-blocks,nsoperation,Cocoa Touch,Cocoa,Callback,Objective C Blocks,Nsoperation,在学习NSOperation时,我想知道为什么完成块比回调子类NSOperation中的方法更有优势。我了解如何使用块以更紧密耦合的方式组织代码,我自己也这样使用过它们,而不是使用处理多个对象回调的委托方法 在NSOperation的情况下,整个操作在类和my子类中是自包含的。它包含一个操作,所有的方法都集中在这个操作上。所以,在这种情况下,我看不到一个完成块能提供什么。在我的理解中,我遗漏了什么?主要的一点可能是块可以捕获其创建范围的局部变量。使用回调函数,您可能必须显式地传递上下文结构或对象

在学习NSOperation时,我想知道为什么完成块比回调子类NSOperation中的方法更有优势。我了解如何使用块以更紧密耦合的方式组织代码,我自己也这样使用过它们,而不是使用处理多个对象回调的委托方法


在NSOperation的情况下,整个操作在类和my子类中是自包含的。它包含一个操作,所有的方法都集中在这个操作上。所以,在这种情况下,我看不到一个完成块能提供什么。在我的理解中,我遗漏了什么?

主要的一点可能是块可以捕获其创建范围的局部变量。使用回调函数,您可能必须显式地传递上下文结构或对象。完成块可以以更平滑、更自动的方式完成此操作。

主要的一点可能是,该块可以捕获其创建范围的局部变量。使用回调函数,您可能必须显式地传递上下文结构或对象。完成块可以以更平滑、更自动的方式完成此操作