【问题标题】:swift array Cannot convert value of type 'AnyObject' to expected argument type @noescape(AnyObject) throws - > Bool快速数组无法将“AnyObject”类型的值转换为预期的参数类型@noescape(AnyObject)抛出-> Bool
【发布时间】:2016-01-14 10:10:19
【问题描述】:
    let otherArray:[AnyObject] = ["a","aa","aaa"]
    let otherArrayElemnt = otherArray[0]
    let myArray:[AnyObject] = ["qq"]
    if myArray.contains(otherArrayElemnt){     //<<<<<<< Error HERE
        //if contains...doSomething
    }else{
        //none doSomething
    }

错误:无法将“AnyObject”类型的值转换为预期的参数类型@noscape (AnyObject) 抛出 -> Bool

不知道怎么解决

【问题讨论】:

    标签: swift


    【解决方案1】:
    1. String 不是对象,因此它不符合协议AnyObject。请改用Any
    2. AnyObjectAny 都不是 Equatable,所以函数 contains 不知道如何将数组元素与 otherArrayElement 进行比较。

    为什么需要使用 Any 元素的数组?为什么不使用 Strings 的数组?您还想在其中存储什么?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-06
      • 2016-10-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多