我有一个名为Film的核心数据实体,它有属性标题和日期.我注意到生成的NSManagedObject子类包含可选的NSManaged属性,尽管我在core data inspector中将这些属性标记为非可选.

enter image description here

enter image description here

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

推荐答案

"可选"对核心数据的含义与对Swift的含义不同.

  • 如果核心数据属性不是可选的,则它必须具有非nil值when you save changes.在其他时候,核心数据并不关心属性是否为零.
  • 如果Swift属性不是可选的,则在初始化完成后,它必须具有非nil值at all times.

将核心数据属性设置为非可选并不意味着它在术语的快速意义上是非可选的.这就是为什么生成的代码使这些属性成为可选的——就核心数据而言,除非保存更改,否则值为零是合法的.

Swift相关问答推荐

Swift中的www.example.com(qos:.background). c {}和Task(优先级:.background){}有什么DispatchQueue.global

如何使用快速宏用来自函数的关联值来初始化枚举?

Swift concurrency reload/await,支持只执行成功并重试

.onReceive NSWindow.CloseNotify是否会为App中的每个窗口调用?

try 在小部件内部读取核心数据的SwiftUI总是返回空吗?

RxSwift .debounce,.throttle用于分页

如何使用 Swift 在非本地函数中切换()一个 Bool?

为什么我在我的 Swift iOS 应用程序项目中收到 Xcode 中的错误消息无法识别的 Select 器发送到类?

在PrimitiveSequence上引用实例方法xxx需要类型A和any B等效

如何修改下面的代码,使图像 Select 的顺序与使用快速并发的图像呈现的顺序相匹配?

如何返回一个通过 SwiftUI 中的另一个协议间接继承 View 协议的 struct ?

为什么在Swift中每次调用Decimal类型的formatted()方法都会越来越慢?

在 Swift 中为(递归)扩展提供默认实例参数

如何让动画变慢 SwiftUI

我如何从 UIAlertController 导航到新屏幕(swiftUI)

如何快速制作虚线?

如何为多个类 Swift 进行扩展

自定义 MKAnnotation 标注视图?

Swift 2.0 最低系统版本要求(部署目标)

TabView 在切换选项卡时重置导航堆栈