gpt4 book ai didi

swift - 获取数组中的每个唯一元素并快速计算 TableView

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

我正在尝试遍历数组并找到所有重复项。我想用数组中每个唯一项目之一填充我的 TableView,并能够使用分段 Controller 按项目名称或项目计数排序...

我希望单元格具有 labelOne = 唯一数组对象,labelTwo = 该对象重复了多少次。

例如

var exampleArr = ["apple", "apple", "apple", "apple", "cat", "cat", "laptop"]

我希望能够说apple: 4, cat: 2, laptop: 1

I found this answer...

我担心的是这些答案(来自超链接)会返回字典。

是否可以使用字典创建可排序的 TableView ?或者有更好的方法来做到这一点

最佳答案

NSCountedSet 可以做你正在寻找的(需要 Foundation)

let exampleArr = ["apple", "apple", "apple", "apple", "cat", "cat", "laptop"]
let countedSet = NSCountedSet(array: exampleArr)
for item in countedSet {
print(item, countedSet.count(for: item))
}

要在 TableView 中使用集合,请从唯一对象创建一个数组

var dataArray = [String]()

dataArray = countedSet.allObjects as! [String]

你甚至可以对数组进行排序

dataArray.sort()

cellForRow 中,从 dataArray 中获取项目,从 countedSet 中获取出现次数

let item = dataArray[indexPath.row]
let occurrences = countedSet.count(for: item)

注意:

NSCountedSet 不知道包含项的类型,因此如果您需要类型,则必须强制转换它:

print(item as! String, countedSet.count(for: item))

关于swift - 获取数组中的每个唯一元素并快速计算 TableView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44536935/

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