swift - 删除元组数组中的重复值

标签 swift

我正在使用 Swift 3 开发一个项目,我有一个包含重复值的元组数组,有没有办法将它保存到 NSSet 或避免复制相同的值。我的元组数组的结构如下。

var selectedSongList : [(title: String, healerName: String, trackUrl: String, trackID: String, imageUrl: String)] = []

因此稍后我将使用它来填充我的 UITableView

最佳答案

有两种方法。

解决方案一

你可以创建一个结构,它应该像这样确认 Hashable 和 equatable

struct Post: Hashable, Equatable {
let id: String
var hashValue: Int { get { return id.hashValue } }
}

func ==(left:Post, right:Post) -> Bool {
return left.id == right.id
}

要删除您的对象,您可以这样做

让 uniquePosts = Array(Set(posts))

方案二

从数组中创建一个集合,然后将其返回数组。

关于swift - 删除元组数组中的重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45726347/

相关文章:

ios - UserDefaults 编码失败

ios - 如何为 View Controller 中的单个按钮创建两个 segue?

Swift 4 中的 JSON 解码

ios - 为什么调用 setenv ("OS_ACTIVITY_DT_MODE", "disable", 1) 不会影响日志记录?

ios - 约束似乎不适用于 UITableView 内的单元格

swift - 强制子类快速实现协议(protocol)

ios - 关闭弹出 View

ios - 不支持 Xcode iOS 8 键盘类型

swift - (如何)在 SwiftUI 中可以在 TextField 中编辑(长度单位)测量值?

swift - AWS Cognito Swift 凭证提供商 "logins is deprecated: Use AWSIdentityProviderManager"