2014-10-22 38 views
0

我用我的AppDelegate作爲模型來檢測我的推送通知是否被點擊 - 如果我的View Controller中有一個ViewController被摺疊(使用側欄),我的TableViewCell被選中(這會影響其他視圖控制器) 。我不太使用AppDelegate,通常使用模型。iOS:是否認爲使用Appdelegate作爲小事物模型的良好設計模式?

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

回答

1

不,它不是。

appDelegate有一個角色 - 成爲應用程序的委託。但是,當你使用它來存儲狀態時,你將它用作某種方便的單例對象。

爲應用程序的狀態使用單獨的數據存儲是一個更好的主意。

並不關注Apple的應用程序模板,它將Core Data託管對象上下文置於應用程序委託文件中。這是不好的做法,他們在Core Data Snippets Document.

enter image description here

+0

+1對於重要思想:應用程序委託應該只是應用程序的代表,而不是其他任何東西。 – gnasher729 2014-10-22 12:09:03

2

意見旗幟豎起自己:我包起來不同的類,這樣,如果應用程序的增長,你已經真正的模型分離製得。

我發現通過應用程序委託可以使用模型類的實例沒有問題,類似於委託人如何知道視圖層次結構的根。

相關問題