#ios #swift3
#iOS #swift3
Вопрос:
1. let context = CGContext(...)
2. context.draw(...)
3. let buffer = UnsafeMutablePointer<UInt32>(context.data) // error here
При использовании Swift 3 строка 3 выдает ошибку, которая гласит:
Cannot invoke initializer for type 'UnsafeMutablePointer<UInt32>' with an argument list of type '(UnsafeMutableRawPointer?)'
Есть ли способ преобразовать UnsafeMutableRawPointer
в любой подходящий тип, который UnsafeMutablePointer
принимается в качестве параметра при инициализации?
Кстати, ссылку на класс для UnsafeMutablePointer
можно найти здесь .
Ответ №1:
Я думаю, это выполнит инициализацию.
let ptr = context.data
let data = ptr!.assumingMemoryBound(to: UnsafeMutablePointer<UInt32>.self).pointee
let pixelBuffer = UnsafeMutablePointer<UInt32>(data)