无法在 CoreData 子类中创建新属性? iOS8 Swift3
Can't create new properties in CoreData subclass? iOS8 Swift3
我在 Xcode 中创建了一个数据模型,选择了我的所有实体,单击编辑器 -> 创建 NSManagedObject 子class。它在我的工作区范围内创建了所有 +CoreDataProperties 和 +CoreDataClass,而不是我的项目。
然后我继续编辑 class 文件如下:
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 的所有地方都告诉我,class 文件不是由 Xcode 再次生成的,并且可以安全地编辑它们,但是文件中的注释告诉我相反的情况
// This file was automatically generated and should not be edited.
当我尝试在我的项目中使用 class 时,自动完成找不到性别和 uuid,如果我尝试使用它,它会说:
'Gender is not a member type of 'Child'
还有许多其他此类错误
项目构建阶段中没有这些文件的引用
正确的做法是什么?
我如何编辑 CoreData class 以便我可以拥有与 CoreData 无关的其他属性和方法?
非常感谢您
:)
请 select 在右侧面板中为您的实体生成代码 Manual/None。然后继续单击编辑器 -> 创建 NSManagedObject 子类。
我在 Xcode 中创建了一个数据模型,选择了我的所有实体,单击编辑器 -> 创建 NSManagedObject 子class。它在我的工作区范围内创建了所有 +CoreDataProperties 和 +CoreDataClass,而不是我的项目。
然后我继续编辑 class 文件如下:
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 的所有地方都告诉我,class 文件不是由 Xcode 再次生成的,并且可以安全地编辑它们,但是文件中的注释告诉我相反的情况
// This file was automatically generated and should not be edited.
当我尝试在我的项目中使用 class 时,自动完成找不到性别和 uuid,如果我尝试使用它,它会说:
'Gender is not a member type of 'Child'
还有许多其他此类错误
项目构建阶段中没有这些文件的引用
正确的做法是什么? 我如何编辑 CoreData class 以便我可以拥有与 CoreData 无关的其他属性和方法?
非常感谢您 :)
请 select 在右侧面板中为您的实体生成代码 Manual/None。然后继续单击编辑器 -> 创建 NSManagedObject 子类。