gpt4 book ai didi

ios - NSPredicate 用于仅查找第一个匹配项

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

在 Core Data 中,我有一个名为 UUID 的字段,它是一个唯一的 ID。

现在,我想获取单个特定的 UUID 记录。为此,我需要使用 NSPredicate。但据我所知,谓词会搜索整个数据存储。例如,假设有 10 条记录,我想搜索值为 2UUID。谓词将在找到 2 后继续搜索(占用额外的 CPU 周期)。

我想知道我们是否可以对此进行优化。如何让谓词在找到第一个对象后停止搜索。

最佳答案

在 Core Data 中,对获取请求使用 setFetchLimit: 来限制结果的数量。如果您要经常使用 UUID 属性,您还可以为其添加索引。

如果您想改为在数组上运行谓词并限制命中,您需要自己迭代数组 (enumerateObjectsWithOptions:usingBlock:) 并将谓词显式应用于每个项目 (evaluateWithObject:).然后,当您找到匹配项时,使用 block 的 BOOL *stop 参数结束迭代。

关于ios - NSPredicate 用于仅查找第一个匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22657243/

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