我得到我的應用程序出現以下錯誤:核心數據:聲明仍然有效
我能找到CoreData: error: Serious application error. Exception was caught during Core Data change processing. This is usually a bug within an observer of NSManagedObjectContextObjectsDidChangeNotification. statement is still active with userInfo (null)
一切似乎預示着我可以有我的核心數據管理對象多線程問題上下文,但我似乎無法在我的應用程序的任何地方找到這種情況。我正在訪問和管理後臺線程上的託管對象上下文。上下文只是獲取和操作該背景線程上的對象。當我通過NSManagedObjectContextObjectsDidSaveNotification檢測到對上下文的保存時,我將這些更改合併到僅在我的主線程中訪問的不同上下文中。當我調用合併更改時,會引發錯誤。發生這種情況非常罕見,即使使用相同的數據集。
我在某處讀了'使用'-com.apple.CoreData.ThreadingDebug 3'來啓用多線程斷言',但是我一直無法讓它工作。 有誰知道這是可能的嗎?我希望這可能會打開一些能夠幫助我找到我在錯誤線索或其他地方使用上下文的說法。
有關可能發生的事情或如何跟蹤這類問題的其他線索?
我的回答有幫助嗎? –
您在[TN2124:Mac OS X調試魔術](https://developer.apple.com/library/ios/#technotes/tn2004/tn2124.html#SECCOREDATA)中閱讀。關鍵是,「這個功能需要框架的調試版本。」如果你有這個變體,你可以設置環境變量'DYLD_IMAGE_SUFFIX = _debug',它會爲框架加載'CoreData_debug'而不是'CoreData'。不幸的是,這些變體似乎只適用於OS X 10.5.x. :( –