gpt4 book ai didi

iphone - 用于存储 UISearchBar 查询的 20,000 个项目的最佳数据存储

转载 作者:行者123 更新时间:2023-12-03 20:57:49 24 4
gpt4 key购买 nike

我需要存储 20,000 条简短记录(将标识符映射到名称),并允许用户在 UISearchBar 中按 ID 或名称搜索记录。

方法 1(核心数据):为了节省内存,我尝试使用 CoreData 和 SQLite 作为后端来实现此方法,但发现在初始导入完成后存储 20,000 条记录的速度很慢。然后,当用户在 UISearchViewBar 中逐个字母输入时,响应也明显变慢。

方法 2 (NSMutableArray):当我使用 NSMutableArray 在内存中实现相同的事情时,UISearchBar 上的响应时间非常快。

在第一种方法中,内存中一次只有一小部分记录,但响应时间很慢。在第二种方法中,20,000 个项目仅占用 700KB(不到 1 MB)内存,并且响应时间很快。

由于 Core Data 提供持久存储并使谓词查询非常灵活,因此如果可能的话我想使用它。有人对是否有办法仍然使用 Coredata 但获得更快的结果有建议吗?

谢谢

最佳答案

为什么不两者都做呢?使用核心数据进行持久化。将 ManagedObjectID 和属性预取到内存缓存中,您可以使用它们通过搜索栏进行搜索。选择该项目后,您可以使用 ManagedObjectID 从 MOC 获取实体。

使用 NSArray 的 filteredArrayUsingPredicate: 和 NSMuatableArray 的 filterUsingPredicate

关于iphone - 用于存储 UISearchBar 查询的 20,000 个项目的最佳数据存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3703372/

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