Iphone 简单MVC中的模型?

Iphone 简单MVC中的模型?,iphone,objective-c,cocoa-touch,Iphone,Objective C,Cocoa Touch,一个简单的问题是,控制器是否可以包含一个指向模型对象的指针,以便它可以使用实例方法进行alloc,然后根据需要调用模型。或者最好将模型设置为单例,然后根据需要使用静态指针/类方法访问模型。或者两者都不重要 正如我使用这两种方法一样,一种方法将模型与控制器联系起来,而另一种方法使模型更加独立,但这意味着它可以从任何地方访问 为gary干杯。控制器持有指向模型的指针是完全正常的。毕竟,与模型交互是其最重要的工作之一。在我看来,除非你有很好的理由使用它们,否则在大多数情况下都应该避免使用单例。很好,谢

一个简单的问题是,控制器是否可以包含一个指向模型对象的指针,以便它可以使用实例方法进行alloc,然后根据需要调用模型。或者最好将模型设置为单例,然后根据需要使用静态指针/类方法访问模型。或者两者都不重要

正如我使用这两种方法一样,一种方法将模型与控制器联系起来,而另一种方法使模型更加独立,但这意味着它可以从任何地方访问


为gary干杯。

控制器持有指向模型的指针是完全正常的。毕竟,与模型交互是其最重要的工作之一。在我看来,除非你有很好的理由使用它们,否则在大多数情况下都应该避免使用单例。

很好,谢谢你,Ole,这是我一直想澄清的事情,大多数书都跳过了MVC的模型方面。@Joe Blow:我同意单例很好——如果你有理由的话(例如表示单个硬件设备的类)。在我看来,模型类通常不是这样的情况。再次感谢Ole,非常感谢。不过,应用程序委托不是单例;UIApplication是(某种程度上;ObjC中的“真正”单例既单调又不必要)。此外,
[UIApplication sharedApplication].delegate
似乎是
nil
,而应用程序仍在加载主nib,这尤其没有帮助。当多个控制器带有指向模型的指针时会发生什么?