Ios 什么';s更好,委托或单例在视图控制器之间传递数据-Objective-C

Ios 什么';s更好,委托或单例在视图控制器之间传递数据-Objective-C,ios,objective-c,delegates,singleton,protocols,Ios,Objective C,Delegates,Singleton,Protocols,我一直在练习使用不同的方法在视图控制器之间传递数据,到目前为止,我尝试了委托和单例。在尝试了这两种模式后,我开始怀疑这两种模式是否比另一种更好,或者这仅仅是一种品味。在我看来,单例模式似乎非常直接和简单,它似乎也符合MVC,因为它完全分离了模型和控制器 1-一种模式比另一种好吗? 2-您使用什么方法? 3-为什么你更喜欢其中一个 对不起,如果我的问题没有太多意义,但我想听听专业人士的意见,并尝试使用更有意义的内容 非常感谢。根据来自苹果的示例应用程序,代表们更喜欢这种方式。它们使用更少的内存,并

我一直在练习使用不同的方法在视图控制器之间传递数据,到目前为止,我尝试了委托和单例。在尝试了这两种模式后,我开始怀疑这两种模式是否比另一种更好,或者这仅仅是一种品味。在我看来,单例模式似乎非常直接和简单,它似乎也符合MVC,因为它完全分离了模型和控制器

1-一种模式比另一种好吗?
2-您使用什么方法?
3-为什么你更喜欢其中一个

对不起,如果我的问题没有太多意义,但我想听听专业人士的意见,并尝试使用更有意义的内容


非常感谢。

根据来自苹果的示例应用程序,代表们更喜欢这种方式。它们使用更少的内存,并且能够使对象之间的连接松散耦合。假设您有视图控制器(A和B)和单例对象S(以前有时初始化过,可能在AppDelegate.h中)。例如,B需要下载一些数据(D)并返回到A。如果是单例,即使A中不需要它,它也会存储D。

一般来说,单例应该是最后的选择。创建一个可供类使用的数据模型。使用NSNotificationCenter而不是singleton.BLOCKS。我更喜欢在控制器之间传递数据的块。
@Zaph-创建可由类使用的数据模型你知道我可以阅读更多关于这种方法的文档/教程吗?我在两个实例中多次被否决,当时我建议将此作为在视图控制器之间传递数据的可能解决方案!你很幸运,你还没有收到反对票!我喜欢在我的视图控制器之间传递数据,但不得不做不同的事情,因为问题是,你能证明“它们使用更少的内存”吗?可能会扩展到松散耦合?我在prepareForSegue中传递数据,或者它已经存储在核心数据或用户默认值中。有时NSNotification传递数据。有时我会使用单亲,但尽量避免,因为单亲有一个随着时间不断增长的坏习惯。为什么这是个坏主意?如果我知道的话。。