После того, как преобразовать от быстрой 2 до быстры 3, возникает ошибка выскочит за ниже metioned линииUnsafePointer больше не работает в быстром 3
let value = UnsafePointer<UInt32>(array1).pointee
«инициализации» недоступен: использование «withMemoryRebound (to: capacity: _) 'для временного просмотра памяти в качестве другого совместимого с макета типа.
в swift2 это походит
let value = UnsafePointer<UInt32>(array1).memory
Может кто-нибудь объяснить, пожалуйста? К сожалению, я совершенно новой для swift3
После того, как я есть внести изменения в
let abc = UnsafePointer<UInt32>(array1).withMemoryRebound(to: <#T##T.Type#>, capacity: <#T##Int#>, <#T##body: (UnsafeMutablePointer<T>) throws -> Result##(UnsafeMutablePointer<T>) throws -> Result#>)
, но еще какое значение должно идти в переменной? К сожалению, у меня есть поиск вокруг, но слишком плохо, я не могу найти решение
'Результаты из функций C, возвращающих указатели с возможностью NULL, должны быть явно развернуты перед доступом к объекту pointee (ранее памяти) или элементам индекса. Дополнительный синтаксис цепочки хорошо работает здесь, например. result? .pointee = sum.' Это поможет ... https: //swift.org/migration-guide/ –
Пожалуйста, покажите, что вы на самом деле пытаетесь сделать. – matt
Какой тип 'array1'?' UnsafeRawPointer'? – LinShiwei