2012-07-27 62 views
4

我發現了一個奇怪的線,如:的XCode:CoreData.Framework id爲奇怪的行爲

id *_optimizationHints;<- in NSManagedObjectModel.h

id* _cd_snapshots;<- in NSManagedObject.h

id** _kvcPropertyAccessors;<- in NSEntityDescription

id* _debuggingRecords;<- in NSManagedObjectContext.h id *_cachedObsInfoByEntity;<- in NSManagedObjectContext.h

當我嘗試編譯一個項目,ARC選項,我看到的錯誤是這樣的:指向非const類型的「身份證」,沒有明確的所有權

有什麼不對?正如我從類似的問題閱讀,我需要更換id * - >id

但這是主CoreDate.Framework!

我無法理解這一點。

有人可以解釋這個'笑話'嗎?

回答

4

今天早上我遇到了類似的問題。似乎問題是由於核心數據已經以某種方式構建的。當我們導入CD框架時,我不得不去建立階段來添加依賴框架,而不是直接從Finder拖放。希望這是有幫助的

+0

不壞,我解決了這個問題太,但它是什麼?開發者真的很奇怪'開玩笑'嗎? – gaussblurinc 2012-08-13 08:49:44

+0

同樣在這裏。我沒有去到目標設置並將CoreData.framework添加到鏈接的框架,而是認爲我通過從第二個項目中拖放來取得捷徑。看來,無論出於什麼原因,這是行不通的:我得到了同樣的'non const'指向編譯錯誤的指針。我通過刪除拖放版本來解決此問題,並以常規方式刪除和重新添加框架依賴項。不知道爲什麼這有什麼不同,但它是。感謝這個信息! – ecotax 2013-02-05 16:45:26

4

今天我遇到了同樣的問題,同時將現有的項目轉換爲靜態庫和公共代碼部分。我按照這裏的說明:https://github.com/jverkoey/iOS-Framework

確實,我通過拖放從我的早期項目中添加CoreData.framework。然而,我刪除它並重新添加它,就像你指出的那樣(多次),但我仍然得到你報告的錯誤。

編輯:這是我的問題: 我刪除了框架,並從Xcode中讀取它們。我的問題是,我的項目目錄中實際上有一個「CoreData」子目錄沒有被刪除。

解決方案: 在Finder中刪除它後,它重新添加到「鏈接二進制與圖書館」的問題,走了