检查 NSMutableArray 是否包含给定值

Check if NSMutableArray contains a given value

我有一个包含 String 个值的 NSMutableArray。我有一个 String 变量,我想检查它是否包含在数组中。

我尝试将 .contains() 与字符串一起使用,但它说:

Cannot convert value of type String to expected argument type...

var mutableArray = NSMutableArray()  // ["abc", "123"]
var string = "abc"

mutableArray.contains("abc") {       // above error in this line

}

我还是不明白为什么你不能使用原生 Swift 数组,但是没关系。

两种可能的解决方案是使用

let contains = mutableArray.contains { [=10=] as? String == "abc" }

let contains = mutableArray.containsObject("abc")

let contains = mutableArray.indexOfObject("abc") != NSNotFound

如果你想使用原生数组,你可以简单地做

var array = ["123", "abc"]
let contains = array.contains("abc")

检查元素是否存在的多种方法NSMutableArray。即

if mutableArray.contains("abc")  
    print("found")  
else  
    print("not found")  

if contains(mutableArray, "abc")   
    print("found")  

if mutableArray.indexOfObject("abc") != NSNotFound
  print("found")  

If we want to check existence of element according of version of swift

Swift1

if let index = find(mutableArray, "abc")  
    print(index)

Swift 2

if let index = mutableArray.indexOf("abc")  
    print(index)