gpt4 book ai didi

ios - 在字典/数组中高效存储和检索大量对象

转载 作者:行者123 更新时间:2023-11-29 10:29:24 26 4
gpt4 key购买 nike

我正在根据设备上存储的用户完整照片集(可能有数千张)创建数据源。

对于每项 Assets ,我需要:

  • 网址
  • 纬度
  • 经度
  • 时间戳

加载 View 时,我将枚举所有 Assets 并为每个 Assets 存储这 4 条数据。我想知道安排所有这些数据的选项之间是否存在显着差异。例如:

  1. 创建 1 个数组,数组中的每个对象都包含一个包含 4 个键值对的字典。

对比

  1. 创建 1 个数组,仅包含 URL 字符串。创建 3 个额外的字典,1 个将每个 URL 字符串映射到纬度,1 个将每个 URL 字符串映射到经度,1 个将每个 URL 字符串映射到时间戳。

对比

  1. 与 #1 相同,但不是向数组添加字典,而是添加从 NSObject 子类化并包含 4 个属性的自定义类的实例。

创建或读取这些集合(假设有数千个对象)所需的时间是否存在显着差异?谢谢。

最佳答案

有很多方法可以做到这一点,但最简单的方法可以节省您的时间并且开销非常低,那就是创建一个类来保存您要创建的四个属性并将它们放入字典中。使您自己的对象来保存这些信息片段而不是将几个数组或字典装配在一起将使将来具有更大的灵 active 。

当您枚举照片时,将时间戳设置为字典中的对象作为键(或您想要的任何唯一属性)。您可以在 O(n*(log n)) 中对键进行排序,并在 O(1) 时间内访问条目。然后您将获得所有图像的排序列表,它快速、可扩展,并且您可以在未来轻松添加更多属性。

关于ios - 在字典/数组中高效存储和检索大量对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30465074/

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