group.issues = temp.sortedArray(using: [sortDescriptor]) as! NSMutableArray
系统版本为iOS 11.0,Xcode 9.0。
我们如何解决这个问题?
答案 0 :(得分:6)
根据你实际做的事情,你可能最好使用一个声明为var
的可变Swift数组。但是,如果由于某种原因确实需要引用语义,可以像这样NSMutableArray
:
group.issues = NSMutableArray(array: temp.sortedArray(using: [sortDescriptor]))
你不能只是强制转换它的原因是因为Objective-C桥将一个Swift数组桥接到一个不可变的NSArray
,如果你试图在它上面调用变异方法,它会引发异常。
同样,最好的办法是使用Swift数组,将issues
属性声明为var
:
struct Group {
...
var issues: [String] // or whatever type goes inside the array
...
}
然后将其指定为:
group.issues = temp.sortedArray(using: [sortDescriptor])
答案 1 :(得分:0)
Swift 5简便方法
let arrPicOne = temparrpicFind as! [Any]
let arrPicTwo = temparrpic as! [Any]
let picResult = arrPicOne + arrPicTwo
arrGpic = NSMutableArray(array:picResult)