Xcode Swift检查数组是否包含对象

Mas*_*tti 3 arrays swift

我有这个数组:

  var preferiti : [ModalHomeLine!] = []
Run Code Online (Sandbox Code Playgroud)

我想检查数组是否包含相同的对象.

if the object exists {

} else {
  var addPrf = ModalHomeLine(titolo: nomeLinea, link: linkNumeroLinea, immagine : immagine, numero : titoloLinea)
  preferiti.append(addPrf)
}
Run Code Online (Sandbox Code Playgroud)

erd*_*ser 8

Swift有一个通用的contains功能:

contains([1,2,3,4],0) -> false
contains([1,2,3,4],3) -> true
Run Code Online (Sandbox Code Playgroud)


olt*_*man 5

所以听起来你想要一个没有重复对象的数组.在这种情况下,a set就是你想要的.令人惊讶的是,Swift没有一套,所以你可以创建自己的或使用NSSet,看起来像这样:

let myset = NSMutableSet()
myset.addObject("a") // ["a"]
myset.addObject("b") // ["a", "b"]
myset.addObject("c") // ["a", "b", "c"]
myset.addObject("a") // ["a", "b", "c"] NOTE: this doesn't do anything because "a" is already in the set.
Run Code Online (Sandbox Code Playgroud)

更新:

Swift 1.2添加了一套类型!现在你可以做点什么了

let mySet = Set<String>()
mySet.insert("a") // ["a"]
mySet.insert("b") // ["a", "b"]
mySet.insert("c") // ["a", "b", "c"]
mySet.insert("a") // ["a", "b", "c"] NOTE: this doesn't do anything because "a" is already in the set.
Run Code Online (Sandbox Code Playgroud)