gpt4 book ai didi

ios - 核心数据 |自动生成的 String 和 Date 属性是可选的,即使没有在 swift 中标记

转载 作者:行者123 更新时间:2023-11-28 05:54:11 26 4
gpt4 key购买 nike

我注意到日期和字符串属性总是在自动生成的类中快速创建为可选属性,即使未选择可选属性也是如此。

apple documentation此外,所有日期和字符串在示例中都显示为可选

In Swift, you declare the properties using the @NSManaged keyword:

class MyManagedObject: NSManagedObject {

@NSManaged var title: String?

@NSManaged var date: NSDate?

}

目前正在使用 swift 3.2 我不希望某些字符串属性是非可选的。使其成为强制性的最佳方式是什么?

最佳答案

两种选择

  • 编辑 MyManagedObject 使它们成为非可选的。这意味着您需要自己维护此类并在核心数据模型和类中进行任何更改
  • 创建一个具有相同属性(您需要给它们新名称)但非可选的协议(protocol)(或子类),并在单独的扩展中实现该协议(protocol)以获取和设置原始属性,然后使用该协议(protocol)而不是 MyManagedObject 在您的代码中。

如果您的数据模型稳定并且不会发生太大变化,那么第一个选项可能是最好的。

关于ios - 核心数据 |自动生成的 String 和 Date 属性是可选的,即使没有在 swift 中标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51960567/

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