1

我有一个 ObjC 控制器对象。

在对象的 alloc/init 之后,我让它异步完成一项工作:

[myObject doSomeThingsOverTime];

该方法使事物处于运动状态,然后立即返回。

问题:将来通知结果的最佳方式是什么,以便我可以释放 myObject 并对已完成的工作做出反应?我应该观察/发布通知吗?或者为对象提供回调方法?或其他?

4

2 回答 2

2

我个人是通知中心路线的粉丝。它允许多个观察者(可能与您相关,也可能与您无关)。

委托路由也是有效的,并且在框架中使用得非常频繁。

我认为这取决于个人喜好。如果它是您自己的代码,您应该选择最适合您的特定情况的可读性和简单性。我不认为一个比另一个更有效。

于 2009-06-12T06:22:45.790 回答
1

你看过 NSOperation 和 NSOperationQueue 类吗?您可以观察 NSOperation 对象的 isFinished,以便在完成时收到通知。

于 2009-06-12T09:26:10.483 回答