2010-04-14 110 views
0

我按照教程「更多iPhone 3開發的代碼,他們有一句臺詞: 的NSManagedObjectContext * managedObjectContext = appDelegate.managedObjectContext;目標C,核心數據的問題

我得到一個錯誤:」訪問未知的'managedObjectContext'getter方法「

我已經下載了他的示例代碼和他的程序運行良好的代碼行我已經嘗試重寫代碼,我甚至複製和粘貼他代碼到我的程序,但我仍然得到錯誤。

我正在使用最新的SDK,我想知道如果事情可能發生了變化,所以此getter方法不再有效,但我不會收到關於棄用的任何警告。

是否有人知道發生了什麼,或者更好的方法是寫出這一行的更好的方法,而不是發生錯誤。

感謝 LadyDev

回答

1

當你創建一個核心數據項目有自動爲您創建了一個方法......

- (NSManagedObjectContext *) managedObjectContext 

那是你的AppDelegate的被管理對象上下文getter方法。另外,在頭文件,你會看到定義的getter方法:

@property (nonatomic, retain, readonly) NSManagedObjectContext *managedObjectContext; 

所以一定要確保你的AppDelegate擁有這些,那麼你應該不會有這個問題。

+0

您還必須#import AppDelegate的頭文件以便編譯器將'.managedObjectContext'識別爲相應的@property存取器。 – 2010-04-14 21:28:56

0

我有同樣的問題,我發現當我創建項目時,它將3個@property聲明放在SuperDBAppDelegate.m文件中,這可能是一種新的方式,我不太確定。無論如何,我從那裏拿走它並將其放入.h文件,並修復了錯誤,但是現在我還有其他問題,我仍在調試,但希望這對您有用。