gpt4 book ai didi

ios - Xcode NSManagedObject 子类在标记为非可选时包含可选

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:56:08 24 4
gpt4 key购买 nike

我有一个名为 Film 的核心数据实体,它具有属性标题和日期。我注意到生成的 NSManagedObject 子类包含可选的 NSManaged 属性,即使我在核心数据检查器中将属性标记为非可选。

enter image description here

enter image description here

我可以手动将其更改为非可选属性还是将其保留为可选是更好的选择吗?为什么?

最佳答案

“可选”对 Core Data 的意义不同于对 Swift 的意义。

  • 如果核心数据属性不是可选的,则保存更改时它必须具有非零值。在其他时候,Core Data 不关心属性是否为 nil。
  • 如果 Swift 属性不是可选的,则在初始化完成后,它必须始终具有非 nil 值。

使 Core Data 属性成为非可选属性并不意味着它在 Swift 术语的意义上是非可选的。这就是为什么生成的代码使这些属性成为可选的——就 Core Data 而言,拥有 nil 值是合法的,除非在保存更改时。

关于ios - Xcode NSManagedObject 子类在标记为非可选时包含可选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40599125/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com