我有基本上是从API获取信息iPhone应用程序(在XML,但也许JSON最终)。结果对象通常显示在视图控制器(表为主)。

下面是体系结构现在。

我有取从远程服务器对象的不同的NSOperation类。所有这些的NSOperation类,将采取一个自定义的委托方法,它会着火回燃产生的对象,因为他们被解析,然后最后当没有更多的结果可用的方法。所以,对于代表该协议将是这样的:

(void) ObjectTypeResult:(ObjectType *)result;
(void) ObjectTypeNoMoreResults;

我认为解决的办法效果很好,但我周围一堆委托协议结束了,然后我的视图控制器实施所有这些委托的方法。我不认为它是坏的,但我总是在寻找一个更好的设计。

所以,我想使用NSNotifications删除使用代表。我可以在通知的用户信息部分的对象,只是后收到的对象为,然后最后一场比赛时,没有更多可用。然后我可以只在每个视图控制器的一个方法来接收所有的数据,在一个控制器使用的多个对象时也是如此。†

因此,可以每种方法与我这样的人分享一些优点/缺点。我应该考虑重构我的代码使用事件而不是代表?是一个在某些情况下优于其他?在我的情况,我真的不希望收到多个地方的通知,所以也许基于协议的代表是要走的路。

谢谢!

有帮助吗?

解决方案

其实,你的这个设计听上去声音。清晰的可可方法是使用的代表,并且更喜欢围绕掷物。此外,在定义协议,这样使你的代码非常明确的,易于理解。总而言之:保持良好的工作

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top