iOS Swift Core Data 生成带有项目命名空间的 NSManagedObject
Posted
技术标签:
【中文标题】iOS Swift Core Data 生成带有项目命名空间的 NSManagedObject【英文标题】:iOS Swift Core Data generate NSManagedObject with project namespace 【发布时间】:2015-01-10 07:10:39 【问题描述】:好的,所以我读到在 Swift 中,我们需要在检查器中为我们的核心数据实体类名称添加前缀,并加上我们的项目命名空间。
假设我的项目名为“MyProject”,因此对于DataModel.xcdatamodeld
中的每个核心数据实体,我添加“MyProject”:
MyProject.Book
MyProject.Library
当我在数据模型界面构建器中选择两个实体并开始时
Editor > Create NSManagedObject Subclass
它只生成了 1 个名为 MyProject
的类文件,而不是通常的
Book class
Library class
这就是我通常使用 Objective C 的方式。
Swift 是否有我不知道的额外步骤?
【问题讨论】:
很遗憾,没有步骤(由苹果提供),但请告诉我你在哪里“读到”了这个。我也对 XIB 做同样的事情,我只是对规范参考感兴趣:) @DanielGalasko 我在这里阅读了它***.com/questions/25076276/… 和Apple 的文档链接:developer.apple.com/library/prerelease/mac/documentation/Swift/… 在Implementing Core Data Managed Object Subclasses
部分下
【参考方案1】:
看起来像 Xcode 中的一个错误,正如 Martin R 的这篇 *** 帖子的 cmets 中所述,Apple 需要修复:
Unable to find specific subclass of NSManagedObject
一个 PITA 解决方法
我在读这个
http://jamesonquave.com/blog/core-data-in-swift-tutorial-part-1/
目前看来解决这个问题的方法是:
在使用 using Editor 生成 NSManagedObject 子类之前,删除实体类名中的所有命名空间前缀
选择您要为其生成 NSManagedObject 子类的所有实体并使用编辑器生成它们
现在将命名空间前缀添加回所有实体类名称并保存数据模型文件。
我猜必须等待 Apple 修复它 =/
【讨论】:
以上是关于iOS Swift Core Data 生成带有项目命名空间的 NSManagedObject的主要内容,如果未能解决你的问题,请参考以下文章
在 Core Data 可转换字符串数组上返回匹配项的 Swift 谓词
iOS:Swift:Core Data:值不使用 Private ManagedObjectContext 存储
如何使用带有 Swift 的 Core Data 获取非标准(可转换)属性来更新/保存和持久化?