gpt4 book ai didi

ios - 为 UI 获取唯一值,同时保留重复项以在 map 上显示数据

转载 作者:搜寻专家 更新时间:2023-11-01 06:51:08 24 4
gpt4 key购买 nike

我正在开发 map 应用程序。我有兴趣点数组,我必须将其显示在 map 上。当我在 tableView 中显示这些点时,它们必须是唯一的,但是当我选择其中一个时,我必须传递所有点,以便它们可以显示在 map 上。

struct POI {
let id: String
let name: String
let floorName: String
}

对于这个结构,我从服务中获取 [POI],它对某些元素具有相同的名称和 floorName,但 ID 不同。从 UI 的角度来看,多次显示具有相同名称和 floorName 的 POI 是没有意义的。但是,当用户选择一个时,我必须传递具有相同名称和楼层名称但 ID 不同的所有元素,以便 map 可以显示所有这些元素。

目前,我正在使用字典分组来查找唯一值,但只是想知道是否有更好的方法。

最佳答案

唯一化一堆值的通常方法是将它们放入一个集合中。一个 Set 只能包含一堆等效值中的一个。

在你的情况下我会做的是声明另一个结构。我们称它为 PIOID:

struct POInoID : Hashable {
let name: String
let floorName: String
init(poi:POI) { self.name = poi.name; self.floorName = poi.floorName }
}

现在您将所有 POI 对象映射到 POInoID 对象,并将所有 POInoID 对象放入一个集合中。 Presto,Set 中的所有对象都是唯一的。

关于ios - 为 UI 获取唯一值,同时保留重复项以在 map 上显示数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56943957/

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