【发布时间】:2019-05-24 02:48:03
【问题描述】:
我创建了这个单例来访问整个应用程序中的共享数组:
class TranslationItems {
var delegate: TranslationItemsDelegate?
static let shared = TranslationItems()
var array = [Translation]() {
didSet {
delegate?.newItemAdded()
}
}
}
问题在于这允许重复(数组可能包含具有相同 hashValue 的多个项目)。如果我检查 didSet 设置器中的重复项,然后更改那里的数组(例如通过执行 array = Array(Set(array))),这会导致无限循环。
我如何删除班级中的重复项?
【问题讨论】:
-
Translation必须是可散列的` -
我确认它已经是可散列的
标签: swift