是否在Core Data中使用了可选属性?

时间:2018-04-06 08:10:21

标签: ios core-data optional

我设置了一个属性,它不是可选的,但是当它读取它的值时,它会返回一个可选变量,为什么?

enter image description here enter image description here

1 个答案:

答案 0 :(得分:0)

您在模型中设置的内容可能与代码中的内容不直接对应。考虑该模型适用于多种平台(iOS,OSX)和多种语言(Swift,Objective-C)。

然后自动生成您的类,在您的情况下,您似乎正在使用Swift。但它们是托管对象的子类,它们是NSObject子类,所以在底层你是在objectiveC上。如果我没记错的话,所有这些属性都将被强行打开,这仍然意味着它们在打印时会被包裹起来。

ObjectiveC有一些不同的构造函数系统,在某些时候,对象中的每个值/属性都将为null。由于CoreData的工作方式,保持强制解包的值可能是有意义的。

长话短说:这两个可能没有你所认为的紧密联系。但是你不应该担心,如果这破坏了你的任何功能/代码,你应该直接提出问题。