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