gpt4 book ai didi

ios - 如何在 Core Data 中使用派生属性

转载 作者:行者123 更新时间:2023-12-05 00:22:56 25 4
gpt4 key购买 nike

我正在使用核心数据。我有一个名为 date 的字段可能包含日期或零。

我想创建一个名为 sortDate 的第二个字段这将使用 date 中的日期值字段,如果有的话。如果 date字段为零,我想返回当前日期。我需要将其作为核心数据属性(而不是计算属性),因为我需要根据该值对获取的记录进行排序。

我认为这样做的方法是使用派生属性,但我在 上找不到任何信息如何使用它们。我选中了名为“派生”的复选框。这显示了“派生表达式”字段,但我不知道在此处输入什么。 Xcode UI 上没有指向文档的链接。

尽管有以下评论,但我找不到此功能的任何文档。我已经多次搜索文档,除了 this WWDC session 之外,找不到来自 Apple 的任何一个字。他们提到文档但没有链接到它来说明如何找到它。

我不是唯一一个没有找到这个的人:Documentation on core data derived attributes

最佳答案

我过去使用过并且一直对我有用的一种解决方案是将其作为属性添加到模型中,然后在 willSave 上以编程方式对其进行更新。 .
例如:

@objc(MyCoreDataModelObject)
class MyCoreDataModelObject: NSManagedObject {
@NSManaged var date: Date?

override func willSave() {
setPrimitiveValue(
date.map { ISO8601DateFormatter().string(from: $0) },
forKey: "sortDate"
)
}
}
如果您已经拥有带有 date 的模型版本那么您还必须执行单独的代码来生成当前的 sortDate对于那些。

关于ios - 如何在 Core Data 中使用派生属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58096610/

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