swift中的核心数据管理对象 - 是否允许?

时间:2014-07-22 21:26:13

标签: ios core-data swift

我已经在swift中为我的模型对象创建了NSManagedObject子类。

通常我的模式是创建一个对象的实例,然后在其上设置属性,然后保存。

新对象具有设置为nil的属性。但它们不是可选项。我认为这是不允许的?

很多时候我需要检查值,但是如果我尝试这样的话:

如果(managedObject.property == nil)我崩溃了。

2 个答案:

答案 0 :(得分:7)

在创建NSManagedObject子类时,似乎Xcode不会自动使托管变量成为可选项。如果在模型中将值设置为可选,则它们在子类中也应该是可选的。 (我手动将它们设置为可选)

Model screenshot

class ClassWithOptionalName: NSManagedObject {

@NSManaged var name: String?

}

答案 1 :(得分:3)

managedObject.property是否可选值?

class CustomManagedObject: NSManagedObject {
    @NSManaged var aProperty: String?
                                    ^
}