无法将'< [AnyObject]>'类型的值转换为强制类型'NSArray'

时间:2015-11-09 08:09:07

标签: swift

我无法理解这一点。我尝试了不同的铸造变体,但似乎无法得到它。

    var tArray : NSArray = tempArr2 as NSArray
    memoArray = tArray.mutableCopy() as! NSMutableArray

完整的错误消息是:

无法转换'ReverseRandomAccessCollection< [AnyObject]>'类型的值(又名'ReverseRandomAccessCollection>')在强制中输入'NSArray'

这是整个街区,虽然我不认为它会有所作为,因为错误仅适用于此铸造方法。

    var tempArr : Array = memoArray as Array
    print("beforeReverse=\(tempArr)")
    var tempArr2 = tempArr.reverse()
    print("afterReverse=\(tempArr2)")
    var tArray : NSArray = tempArr2 as NSArray // <----- error
    memoArray = tArray.mutableCopy() as! NSMutableArray

    memoArray.addObject(memoDictionary)

    tempArr  = memoArray as Array
    print("beforeReverse=\(tempArr)")
    tempArr2 = tempArr.reverse()
    print("afterReverse=\(tempArr2)")
    tArray  = tempArr2 as NSArray // <----- error
    memoArray = tArray.mutableCopy() as! NSMutableArray

1 个答案:

答案 0 :(得分:5)

查看reverse()返回类型。你应该把它投到Array

var tempArr2 = Array(tempArr.reverse())