XCode:CoreData.Framework具有id的奇怪行为



我发现了一条奇怪的线,比如:

id *_optimizationHints; <- in NSManagedObjectModel.h

id* _cd_snapshots; <- in NSManagedObject.h

id** _kvcPropertyAccessors; <- in NSEntityDescription

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

当我尝试使用ARC选项编译项目时,我会看到这样的错误:指向没有明确所有权的非常量类型"id"的指针

怎么了?正如我从类似的问题中读到的,我需要更换id *->id

但这是MainCoreDate.Framework!

我不能理解。

有人能解释这个"笑话"吗?

今天早上我遇到了类似的问题。似乎问题是由于核心数据已经以某种方式内置。当我们导入CD框架时,我必须转到构建阶段来添加依赖框架,而不是直接从Finder中拖放。希望这对有帮助

我今天在将要拆分为静态库和公共代码部分的现有项目转换时遇到了同样的问题。我遵循了这里的说明:https://github.com/jverkoey/iOS-Framework

的确,我是通过从我以前的项目中拖放来添加CoreData.framework的。然而,我删除了它,并像你指出的那样重新添加了它(多次),但我仍然收到了你报告的相同错误。

编辑:这是我的问题:我删除了这些框架,并从Xcode内部重新阅读了它们。我的问题是,在我的项目目录中实际上有一个"CoreData"子目录没有被删除。

解决方案:在Finder中删除它,并将其重新添加到"链接二进制库"后,问题消失了

最新更新