2015-07-26 6 views
2

Там есть метод в/с ++ рамок Obj-C, которая принимает uint8_t и регулярное INT:Что такое эквивалент uint8_t в swift?

- (bool)push:(uint8_t *)buf length:(int)len; 

Я использовал файл Бриджер, чтобы иметь доступ к этому методу, но, когда я называю ее в стрижа, используя uint8 и Int я получаю следующее сообщение об ошибке:

не может ссылаться на «толчок» со списком аргументов типа «(uint8, длина: Int)»

Как я могу заставить его работать?

ответ

3

Метод ожидает указатель на массив элементов UInt8 и значение Int32. Вы можете сделать что-то вроде этого:

var buffer: [UInt8] = [0, 1, 2] 
yourObject.push(UnsafeMutablePointer<UInt8>(buffer), length: Int32(buffer.count)) 

Проверьте здесь, как указатели должны быть обработаны: https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/InteractingWithCAPIs.html

Смежные вопросы