用 nsmutabledata swift 填充数组

populate array with nsmutabledata swift

如何在 swift 中使用 nsmutabledata 填充数组?

这是我的代码:

    func hashTest(hash:[UInt8]) {
        var arrayOfBytes = NSMutableData()
        for var i = 0; i < hash.count; i++ {
            if i < 21 {
                arrayOfBytes.appendBytes(hash[i] as UInt8, length: 1)
            }
        }
    }

但是我收到以下错误:

Cannot invoke initializer for type 'UnsafePointer<UInt8>' with an argument list of type '(UInt8)'

我想重复这样的事情:

let endMarker = NSData(bytes: [0xa1, 0x11, 0xa9, 0xf5, 0xce, 0xdb, 0x18, 0xfb, 0xed, 0xd7, 0x67, 0x25, 0x86, 0xe7, 0xd6, 0x42, 0x96, 0x0f, 0x95, 0xe8] as [UInt8], length: 20)

只需将 & 放在 hash[i] 前面,这将允许不安全指针进入附加字节

func hashTest(var hash:[UInt8]) {
        var arrayOfBytes = NSMutableData()
        for var i = 0; i < hash.count; i++ {
        if i < 21 {
            arrayOfBytes.appendBytes(&hash[i], length: 1)
        }
    }
}