2010-11-05 63 views
0

場景:NSManagedObject核心數據 - 請求成員的東西「屬性名稱」不是一個結構或聯合

我創建了一個叫做一個xcode項目「導入」,我讀和導入內容的XML文件到我的核心數據數據庫。然後我有第二個「主」項目,我將SQLite文件添加到主包中,並使用Core Data Books示例中的代碼導入。我在我的「導入」項目中對.xcodedatamodel進行了更改。我發現在finder中將其拖到我的「main」項目中,然後在那裏生成NSManagedObject模型文件。到現在爲止這工作,但Xcode似乎是困惑...

最近我刪除了一些屬性,並添加了1個新的。然後我做了與上面相同的過程,現在它說「請求成員'屬性名稱'在某種不是結構或聯盟中」。如果我輸入文章'modelname'。並按esc的intellisence仍然在拾取舊的屬性?

在「導入」項目中,雖然一切工作正常,我沒有得到任何錯誤的任何屬性和intellisence是正確的?

請指教,xcode中是否有緩存?我已經使用「清理所有目標」,但這似乎不起作用。

詹姆斯

回答

0

今天早上修好了。

在使用fluchtpunkt的提示在項目中進行搜索後,我使用finder搜索其中一箇舊的屬性名稱,並且其中一個NSManagedObject類文件仍出現在「Classes」文件夾中。xcode中的一個在classes文件夾之外,並且具有正確的屬性,但即使xcode沒有引用「classes」目錄中的舊文件,它仍在使用它...因此刪除了它,現在它正在工作!

血腥的xcode和文件引用和組 - 希望有一個替代!

感謝您的所有想法!

James

0

更改後xcdatamodel你需要做以下這樣試試這個

選擇.xcdatamodel file.Then,

第1步:

圍棋到設計 - >數據模型 - >添加車型版本

步驟2:

轉到設計 - >數據模型 - >設置當前版本

現在,在 「設置當前版本」,您將獲得最新的一個爲你工作。

編譯並運行。 :]

希望這會有所幫助。

+1

實際上沒有必要這樣做。僅在您想升級現有數據庫時才需要模型版本。數據模型中的變化可以正常工作而不會創建額外的模型版本,但是您會得到衆所周知的「用於打開商店的模型與用於創建商店的模型不兼容」 - 在應用程序啓動時出現錯誤 – 2010-11-06 10:10:29

+1

btw,您應該添加另一個模型版本**之前**做任何更改 – 2010-11-06 10:16:11

+0

fluchtpunkt,喬德說,他對他的xcdatamodel文件進​​行了更改。所以我建議他盡我所能編寫一個版本。 :] – 2010-11-06 11:45:52

1

您是否更改了自定義NSManagedObject子類中的屬性?
聽起來像你忘了這樣做。

您是否在整個項目中搜索了屬性名稱?如果我必須猜測,我會說它是在某個地方宣佈的。

+0

我沒有重新生成NSManagedObject子類文件。這些都是正確的但是xcode intellisence仍然在拾取舊的屬性?嘗試搜索整個項目,而不是收拾東西...... – jodm 2010-11-07 21:33:01

相關問題