2012-07-27 51 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中删除它后,它重新添加到“链接二进制与图书馆”的问题,走了