Объявить беззнаковый массив символов в Swift

Что я делал в obj-c:

unsigned char cHMAC[CC_SHA1_DIGEST_LENGTH];

то, что я пробовал в Swift, нашел здесь unsigned char в Swift:

let cHMAC = [CUnsignedChar](count: CC_SHA1_DIGEST_LENGTH)

Однако это не строится, потому что счетчик дополнительных аргументов в вызове

Любые идеи, как я могу перевести первый код на быстрый?


person Upvote    schedule 30.10.2014    source источник


Ответы (1)


Вы вызываете конструктор Array

init(count: Int, repeatedValue: T)

и есть две ошибки: вы забыли аргумент repeatedValue:, а CC_SHA1_DIGEST_LENGTH, который отображается в Swift как Int32, должен быть приведен к Int:

let cHMAC = [CUnsignedChar](count: Int(CC_SHA1_DIGEST_LENGTH), repeatedValue: 0)

См. также полный пример на https://stackoverflow.com/a/25762128/1187415.

person Martin R    schedule 30.10.2014
comment
возможно, вы можете помочь мне с другим связанным вопросом: stackoverflow.com/questions/26655999/ - person Upvote; 30.10.2014