完成块对NSOperation类中的回调函数的优势是什么?

Jim*_*Jim 1 cocoa cocoa-touch callback nsoperation objective-c-blocks

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

在NSOperation的情况下,整个操作在类和我的子类中是自包含的.它包含单个操作,并且所有方法都专注于该单个操作.所以,在这种情况下,我没有看到完成块提供什么.我的理解中缺少什么?

Jos*_*ell 5

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