|
|
1
31
您可以选择将日期模型声明为应用程序委托的实例变量(如其他评论员所述)。 与nevan建议的引用应用程序委托不同,另一种方法是为数据模型的视图控制器类(a和B)添加属性。 假设要在视图控制器之间共享数据模型对象,则可以向每个视图控制器添加属性:
您提到了一个选项卡栏控制器。如果视图控制器是通过IB连接的,那么您所要做的就是在应用程序委托中设置这些参数
您可以使用类似于以下内容的方式从所有视图控制器访问此数据模型:
另见 this 关于单例的堆栈溢出讨论。 |
|
2
8
有人说这不是一个好方法,因为它与使用全局变量是一样的,但它非常常见。 |
|
|
3
5
我喜欢创建一个顶级模型类,它是一个单例,包含我可能需要的所有元素。 使用Apple示例中常见的水合物/脱水模式,为它提供一种顶层加载方法,只使用db键填充对象,这也很有帮助。 应用程序委托中的典型用法是,
然后在视图控制器中:
然后你可以迭代你的东西1和东西2,当你需要详细信息时,你可以打电话
|
|
4
3
我总是创建一个名为
然后这个对象保存所有与应用程序相关的数据。无需访问
数据模型
DataModel.m
(因为我懒惰)我把
这样,我只需调用
|
|
|
5
0
两个视图控制器都应引用第三个对象(C)作为其数据源;此对象(C)包含所有存储的应用程序数据。
向每个ViewController添加以下声明:
|