Arrays swift NSMUTABLE数组洗牌
我发现了以下用于洗牌数组的代码:Arrays swift NSMUTABLE数组洗牌,arrays,swift,shuffle,Arrays,Swift,Shuffle,我发现了以下用于洗牌数组的代码: func shuffle<T>(inout array: [T]) { for i in 1..<array.count { let j = Int(arc4random_uniform(UInt32(i))) (array[i], array[j]) = (array[j], array[i]) } } 但是如何使用NSMutableArray? 我试过了 var PicturesArray
func shuffle<T>(inout array: [T]) {
for i in 1..<array.count {
let j = Int(arc4random_uniform(UInt32(i)))
(array[i], array[j]) = (array[j], array[i])
}
}
但是如何使用NSMutableArray
?
我试过了
var PicturesArray :NSMutableArray = []
shuffle(PicturesArray)as Array
shuffle([PicturesArray])
shuffle(PicturesArray[])
但是找不到任何答案可能是我在做傻事
谢谢你看你必须投下它
var arr = NSMutableArray(array: [1,2,3,4,5])
var arr_ = arr as [AnyObject]
shuffle(&arr_)
大家好,这是一个非常快的错误[AnyObject]'不能转换为'inout[T]'是的,我在回答后在操场上运行了它,签出了我的更新。请参阅Swift中的Fisher-Yates shuffle of
NSMutableArray
示例。
var arr = NSMutableArray(array: [1,2,3,4,5])
var arr_ = arr as [AnyObject]
shuffle(&arr_)
shuffle(PicturesArray)as Array // This is syntax error
shuffle([PicturesArray]) // This will make a new array with only one object inside
shuffle(PicturesArray[]) // This is also syntax error