2015-11-05 51 views

回答

35

“可选”意味着与Core Data不同的是Swift。

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

使Core Data属性为非可选项并不意味着它在Swift中是非可选的。这就是为什么生成的代码使得这些属性成为可选的 - 就核心数据而言,除了保存更改之外,具有零值是合法的。

+2

确保至少在'override func awakeFromInsert()'中分配任何非可选变量。 – adamek

4

这是一个已知问题。有些人把它变成非可选的,没有不良影响,我保持它的生成方式并希望早日修复。

如果您向Apple提交错误以提高可视性和优先级,它总是有帮助的。

相关问题