【问题标题】:Core Data managed objects in swift - is nil allowed?swift中的Core Data托管对象 - 允许nil吗?
【发布时间】:2014-07-22 21:26:13
【问题描述】:

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

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

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

很多时候我需要检查值,但如果我尝试类似:

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

【问题讨论】:

  • 为什么它们不是可选的?听起来他们应该是。

标签: ios core-data swift


【解决方案1】:

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

class ClassWithOptionalName: NSManagedObject {

@NSManaged var name: String?

}

【讨论】:

    【解决方案2】:

    managedObject.property 是可选值吗?

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多