jr.*_*jr. 6 iphone asynchronous nsnotifications nsnotificationcenter
我有一个iPhone应用程序,基本上是从API获取信息(在XML中,但最终可能是JSON).结果对象通常显示在视图控制器(主要是表)中.
这是现在的架构.
我有NSOperation类从远程服务器获取不同的对象.这些NSOperation类中的每一个都将采用自定义委托方法,该方法将在解析结果对象时触发它们,然后在没有更多结果可用时最终获取方法.因此,代表的协议将是这样的:
(void) ObjectTypeResult:(ObjectType *)result;
(void) ObjectTypeNoMoreResults;
Run Code Online (Sandbox Code Playgroud)
我认为解决方案运行良好,但我最终得到了一堆委托协议,然后我的视图控制器必须实现所有这些委托方法.我不认为它那么糟糕,但我总是在寻找更好的设计.
所以,我正在考虑使用NSNotifications来删除委托的使用.我可以将对象包含在通知的userInfo部分中,只发布收到的对象,然后在没有更多可用时发布最终事件.然后我可以在每个视图控制器中有一个方法来接收所有数据,即使在一个控制器中使用多个对象也是如此.†
那么,有人可以与我分享每种方法的优点/缺点.我是否应该考虑重构我的代码以使用事件而不是代理?在某些情况下,一个比另一个好吗?在我的场景中,我真的不想在多个地方接收通知,所以也许基于协议的代表是可行的方法.
谢谢!
归档时间: |
|
查看次数: |
2213 次 |
最近记录: |