2013-10-02 71 views
0

嘗試點擊我的應用程序中的按鈕後,收到「消息」不是NSManagedObject錯誤的子類。該應用程序編譯得很好,我可以使用我的應用程序的其他部分。有趣的是,它在iOS7中運行得很好,但在iOS6中崩潰。我已經閱讀過以我的實體爲前綴,但由於它在大約50個類中調用,我正在檢查是否有不同的解決方案。我也很好奇它爲什麼在iOS7中工作,但不是在iOS6中工作。另外如果我刪除了MessageUI.framework它可以在iOS6和iOS7上運行。「消息」不是NSManagedObject錯誤的子類

+4

你應該*總是*前綴你的類(特別是當它被命名爲「消息」一樣通用)。通過右鍵單擊課程名稱並選擇「重構>重命名」,您可以輕鬆地重命名課程。 Xcode會完成剩下的工作(如果它沒有崩潰,那麼......))。 –

+0

它似乎沒有讓我做折射器>重命名。將實體名稱從「消息」更改爲XMessage後,我收到一些不同的錯誤,人們說我必須刪除並重新創建數據庫才能使其正常工作。 – Colin

回答

0

我發現,如果我使用默認的配置/默認(類相同的實體名稱:的「WebResource」我的形象的例子,我會在聲明中得到一個異常

reason: '"WebResource" is not a subclass of NSManagedObject.' 

WebResource *條目= [NSEntityDescription insertNewObjectForEntityForName:@ 「WebResource」 inManagedObjectContext:mymanagedObjectContext];

,但如果我改變類爲 「NSManagedObject」 我不知道爲什麼默認是沒有一切工作正常。 t「NSManagedObject」:(

0

似乎有些名稱不適用於實體:Message,WebResource,BluetoothDevice(截至iOS 11)。

重命名實體和關聯的類爲我解決了它。