只是尋找一點點反饋意見,看看這是否是共享託管對象上下文的不好主意。使用#DEFINE共享託管對象上下文
在MyApp-Prefix.pch
文件我已經添加以下內容:
#import "AppDelegate.h"
#define MOC [(AppDelegate*)[UIApplication sharedApplication].delegate managedObjectContext]
然後,當我需要訪問我做了以下(只是一個例子)上下文:
[MOC deleteObject:[self.fetchedResultsController objectAtIndexPath:indexPath]];
這似乎工作的偉大,但它也似乎太容易了,特別是因爲我沒有看到它在任何地方提到。這是一個糟糕的設計模式嗎?
感謝您的任何反饋
介紹全局變量的好方法......這反過來在你的代碼中引入了隱藏的依賴關係,使得重構變得更加困難,並且難以單獨測試。 –
下面的兩個答案都涉及到[在這裏]討論的設計模式問題(http://cocoawithlove.com/2008/11/singletons-appdelegates-and-top-level.html)。當這樣的問題出現時,值得一讀。 – Swizzlr