我已经在swift中为我的模型对象创建了NSManagedObject子类。
通常我的模式是创建一个对象的实例,然后在其上设置属性,然后保存。
新对象具有设置为nil的属性。但它们不是可选项。我认为这是不允许的?
很多时候我需要检查值,但是如果我尝试这样的话:
如果(managedObject.property == nil)我崩溃了。
答案 0 :(得分:7)
在创建NSManagedObject子类时,似乎Xcode不会自动使托管变量成为可选项。如果在模型中将值设置为可选,则它们在子类中也应该是可选的。 (我手动将它们设置为可选)
class ClassWithOptionalName: NSManagedObject {
@NSManaged var name: String?
}
答案 1 :(得分:3)
managedObject.property是否可选值?
class CustomManagedObject: NSManagedObject {
@NSManaged var aProperty: String?
^
}