Мне нужно вызвать следующий API в заголовке object-c в J2Objc.Быстрое преобразование 2 - 3 UnsafePointer <UInt8>
/**
* Create a new array of a specified length, setting the elements to the values in buf.
*/
class IOSByteArray: NSObject {
...
+ (instancetype)newArrayWithBytes:(const jbyte *)buf count:(NSUInteger)count;
...
}
В быстром 2, я мог бы сделать следующее:
func myFunc() -> IOSByteArray {
return IOSByteArray.newArray(withBytes: UnsafePointer<UInt8>(data.bytes), count: UInt(data.count))
}
В быстром 3, я получаю ошибку:
"Cannot invoke initializer for type 'UnsafePointer<UInt8>' with an argument list of type '(Array<UInt8>)'"
Я не могу понять, как сделать эквивалентный вызов in swift 3.
Получаю, что https://swift.org/migration-guide/se-0107-migrate.html#automatic-migration-cases дает объяснение причин и способов. Но для меня это слишком эрудитивно.
Помощь!
Что тип переменных данных в myFunc()? –
Данные являются объектами NSData. – Navi
, пожалуйста, проверьте мой ответ, вы должны использовать данные в Swift 3 вместо NSData –