gpt4 book ai didi

ios - 搜索核心数据以获取最接近的值

转载 作者:行者123 更新时间:2023-11-30 11:51:26 25 4
gpt4 key购买 nike

目前我们有一个包含 r、g、b 多个值的数据库,这些值分为自己的属性。例如:

 r = type float
g = type float
b = type float

每个 r、g 和 b 属性都有多个值。 从外部源获取 float 后,我们想要搜索数据库以返回与该 float 最接近的数字的属性。 (例如,对于 r,如果我们得到的值为 199,则将返回最接近 199 的 r 值)。

我知道可以使用一些谓词,例如:“text CONTAINS[c] %@”,但我没有看到任何“最接近值”的谓词。

最佳答案

您可以使用NSSortDescriptor(key: "name_key", ascending: true)根据您的要求。

let request1 = NSFetchRequest<NSFetchRequestResult>() // use correct constructor
let sortDescriptor = NSSortDescriptor(key: "name_key", ascending: true)
let sortDescriptors = [sortDescriptor]
request1.sortDescriptors = sortDescriptors

let predicate1 = NSPredicate(format: "text < %@", value)
request1.predicate = predicate1
// use this request1 to fetch from core data

let request2 = NSFetchRequest<NSFetchRequestResult>() // use correct constructor
request2.sortDescriptors = sortDescriptors

let predicate2 = NSPredicate(format: "text > %@", value)
request2.predicate = predicate2
// use this requst2 to fetch from core data

然后你可以使用predicate两次:

第一次使用格式text < %@并使用数组的最后一项。

第二次,格式为text > %@并使用数组的第一项。

将两次迭代中第一个和最后一个项目的差异与给定值进行比较,看看谁的差异更小。这将是最接近的值。

如果你不知道如何从核心数据中获取数据,可以关注 Fetching Objects

Getting started with core data

关于ios - 搜索核心数据以获取最接近的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48289415/

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