我有一个ObjC控制器对象。
在对象的alloc / init之后,我让它以异步方式完成工作:
[myObject doSomeThingsOverTime];
该方法设置动态,然后立即返回。
问题:将来通知结果的最佳方式是什么,以便我可以释放myObject并对已完成的工作做出反应?我应该观察/发布通知吗?或者为对象提供一个回调方法?还是其他?
答案 0 :(得分:2)
我个人是通知中心路线的粉丝。它允许不止一个观察者(可能与您相关或不相关)。
委托路由也是有效的,并且在框架中经常使用。
我认为这取决于个人偏好。如果它是您自己的代码,那么您应该针对您的特定情况选择最易读和最简单的代码。我不认为一个人比另一个人更有效。
答案 1 :(得分:1)
你看过NSOperation和NSOperationQueue课了吗?您可以观察NSOperation对象的isFinished,以便在完成时收到通知。