无法在CoreData子类中创建新属性? iOS8 Swift3

时间:2017-03-18 15:19:32

标签: ios swift xcode core-data ios8

我在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 个答案:

答案 0 :(得分:2)

请在右侧面板中为您的实体选择代码生成为手动/无。然后继续单击编辑器 - &gt;创建NSManagedObject子类。