如何处理NDPredicate中相关核心数据对象的可选/缺失属性

发布于 2025-02-03 10:52:39 字数 929 浏览 0 评论 0原文

我最近遇到了无法解决的核心数据问题。

我有以下对象和关系建议< ----> item

extension Recommendation {
  @nonobjc public class func fetchRequest() -> NSFetchRequest<Recommendation> {
    return NSFetchRequest<Recommendation>(entityName: "Recommendation")
  }

  @NSManaged public var age: Int?
  @NSManaged public var tags: Array<String>?
  @NSManaged public var object: Item?
}

extension Item {
  @nonobjc public class func fetchRequest() -> NSFetchRequest<Item> {
    return NSFetchRequest<Recommendation>(entityName: "Item")
  }

  @NSManaged public var id: String?
  @NSManaged public var name: String?
  @NSManaged public var recommendation: Recommendation?
}

我想根据其相关推荐中的属性获取所有item s。 这些属性中的一些可能会丢失。

我将如何创建一个nspredicate来获取推荐。gagedepusence.tags可能不存在(适用于所有年龄/标签)或应与提供的价值?

我应该始终提供默认值吗?

I've recently ran into an issue with core data that I'm unable to solve.

I have the following object and relationships Recommendation <---> Item

extension Recommendation {
  @nonobjc public class func fetchRequest() -> NSFetchRequest<Recommendation> {
    return NSFetchRequest<Recommendation>(entityName: "Recommendation")
  }

  @NSManaged public var age: Int?
  @NSManaged public var tags: Array<String>?
  @NSManaged public var object: Item?
}

extension Item {
  @nonobjc public class func fetchRequest() -> NSFetchRequest<Item> {
    return NSFetchRequest<Recommendation>(entityName: "Item")
  }

  @NSManaged public var id: String?
  @NSManaged public var name: String?
  @NSManaged public var recommendation: Recommendation?
}

I want to fetch all Items based on attributes in their related Recommendation.
Some of these attributes could be missing.

How would I create a NSPredicate to fetch objects where the Recommendation.age or Recommendation.tags could be non-existent (applicable to all ages/tags) or should be compared against a provided value?

Should I always provide a Default Value?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文