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

  • 本文关键字:类型 转换 NSArray AnyObject 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

查看reverse()返回类型。您应该将其转换为Array:

var tempArr2 = Array(tempArr.reverse())

最新更新