Подтвердить что ты не робот

Изменения Swift 3 для метода getBytes

Я попытался запустить приведенный ниже код в swift 3

 var values = [UInt8](count:data!.length, repeatedValue:0)
 data!.getBytes(&values, length:data!.length)

где данные являются данными типа данных (NSData изменяется на "Данные" в соответствии с рекомендациями по быстрому 3)

Я не могу запустить вышеуказанный код в Swift 3. Компилятор дает ошибку, что "Аргумент Повторное значение должно предшествовать аргументу". Эта же строка кода работала в Swift 2.2

Каким будет решение?

4b9b3361

Ответ 1

Для Swift3 используйте только следующее:

let array = [UInt8](yourDataObject)

Это все, люди!)

Ответ 2

Это означает, что порядок аргументов был отменен в Swift 3.

Для NSData:

var values = [UInt8](repeating:0, count:data!.length)
data.getBytes(&values, length: data!.length)

Для данных:

var values = [UInt8](repeating:0, count:data!.count)
data.copyBytes(to: &values, count: data!.count)