iOS:使用Appdelegate作为小东西的模型是否考虑好的设计模式?

时间:2014-10-22 11:55:26

标签: ios objective-c iphone model-view-controller

我使用AppDelegate作为模型来检测我的推送通知是否被点击 - 我的推送通知ID是什么,如果我的一个视图控制器被折叠(使用侧边栏),如果我的TableViewCell被选中(这个影响其他视图控制器)。我不太使用AppDelegate,通常使用模型。

 @property (nonatomic, assign) NSInteger                  selectedRow;
 @property (nonatomic, assign) BOOL                       isMenuCollapse;
 @property (nonatomic, assign) BOOL                       notificationWasTapped;
 @property (nonatomic, assign) long long                  pushNotificationId;

2 个答案:

答案 0 :(得分:2)

意见:我将它们包装在一个不同的类中,这样,如果应用程序增长,你已经为真正的模型分离做好了准备。

我发现通过app委托提供的模型类实例没有问题,类似于委托如何知道视图层次结构的根。

答案 1 :(得分:1)

不,不是。

appDelegate有一个角色 - 成为应用程序的委托。但是当你用它来存储状态时,你就可以将它用作某种方便的单例对象。

为应用程序的状态使用单独的数据存储更好。

并且不要关注Apple的应用程序模板,该模板将Core Data托管对象上下文放在app委托文件中。这是不好的做法,他们在Core Data Snippets Document.

中标记自己

enter image description here