gpt4 book ai didi

ios - 如何在Swift 5中使用NSPredicate使用CoreData搜索关系属性的ObjectID?

转载 作者:行者123 更新时间:2023-12-01 21:54:37 26 4
gpt4 key购买 nike

我尝试使用NSPredicate仅获取属于特定配置文件的数据时,遇到了我的 CoreData数据库问题。

let request: NSFetchRequest<Data> = Data.fetchRequest()

let predicate = NSPredicate(format: "ofProfile.name MATCHES %@", selectedProfile.name)
request.predicate = predicate

do {
let result = try context.fetch(request)
} catch {
print("Error fetching data: \(error)")
}
! The entity Data got a ofProfile attribute which is a One - To - Many Relationship to the Profile Entity

我的问题是, profile.name attribute不是唯一的,因为 可以使是具有相同名称的多个配置文件。没有 没有100%唯一的属性。
所以这是我的问题:有没有一种方法可以只获取一个特定配置文件的数据而没有唯一属性。也许使用 Activity 配置文件的ObjectID

希望你们能想到解决这个问题的方法。非常感谢您的提前帮助。

最佳答案

如果您有一个Profile对象,并希望获取与其相关的Data对象,则可以使用:

let predicate = NSPredicate(format: "ANY ofProfile == %@", selectedProfile)

(如果是一对多关系),或者
let predicate = NSPredicate(format: "ofProfile == %@", selectedProfile)

(如果是一对一)。

但是同样地,如果您有一个逆向关系(也许应该),那么我们称其为 data,那么您就可以使用它而无需提取:
let relatedData = selectedProfile.data

关于ios - 如何在Swift 5中使用NSPredicate使用CoreData搜索关系属性的ObjectID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61370308/

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