无法在 CoreData 子类中创建新属性? iOS8 Swift3
Posted
技术标签:
【中文标题】无法在 CoreData 子类中创建新属性? iOS8 Swift3【英文标题】:Can't create new properties in CoreData subclass? iOS8 Swift3 【发布时间】:2017-03-18 15:19:31 【问题描述】:我在 Xcode 中创建了一个数据模型,选择了我的所有实体,在编辑器中单击 -> 创建 NSManagedObject 子类。它在我的工作区范围内创建了所有 +CoreDataProperties 和 +CoreDataClass,而不是我的项目。
然后我继续编辑类文件如下:
public class Child: NSManagedObject
enum Gender:Int
case male=0,female,unknown
var uuid:UUID = UUID()
var gender:Gender?
convenience init(name:String,birthday:String,gender:Int)
self.init()
self.name = name
self.birthday = Conversor.convertDate(dateString: birthday)
if(gender >= 0 && gender <= 2)
self.gender = Gender(rawValue: gender)!
func setGender(gender:Int)
self.gender = Gender(rawValue: gender)!
func setBirthday(birthday:Date?)
self.birthday = birthday
我没有触摸属性文件。 我了解 CoreData 的所有地方都告诉我,Xcode 不会再次生成类文件,并且可以安全地编辑它们,但是文件中有一条注释告诉我相反的情况
// This file was automatically generated and should not be edited.
当我尝试在我的项目中使用该类时,自动完成无法找到性别和 uuid,如果我尝试使用它,它会显示:
'Gender is not a member type of 'Child'
在许多其他此类错误中
项目构建阶段中没有这些文件的引用
这样做的正确方法是什么? 如何编辑 CoreData 类,以便拥有与 CoreData 无关的其他属性和方法?
非常感谢您提前 :)
【问题讨论】:
【参考方案1】:请在右侧面板中为您的实体选择代码生成为手动/无。然后继续单击 Editor -> Create NSManagedObject Subclass。
【讨论】:
非常感谢您的回答。我做到了,它仍然在工作区范围内创建。现在它在项目中找不到孩子。它说“使用未声明的类型'孩子' 清理并重新启动 Xcode 后,它运行良好。非常感谢!以上是关于无法在 CoreData 子类中创建新属性? iOS8 Swift3的主要内容,如果未能解决你的问题,请参考以下文章