2016-09-18 2 views
1

nicht aufrufen Ich versuche, mein Projekt auf schnelle 3.0 zu aktualisieren, und ich habe Probleme in der unsafeMutablePointer.Kann Initialisierer für den Typ 'UnsafeMutablePointer' <uint8> 'mit einer Argumentliste vom Typ' (UnsafeMuatableRawpointer?) '

hier ist mein Fehler

Cannot invoke initializer for type 'UnsafeMutablePointer<uint8>' with an argument list of type '(UnsafeMuatableRawpointer?)' 

Code:

let imageBuffer = CMSampleBufferGetImageBuffer(sampleBuffer) 
let src_buff = CVPixelBufferGetBaseAddress(imageBuffer!) 
let dataBuffer = UnsafeMutablePointer<UInt8>(src_buff) //error here 

warum? Wie man es repariert?

Antwort

3

von void-Zeiger umwandeln (aka UnsafeMutableRawPointer) hat in Swift geändert 3. Sie haben 2 Möglichkeiten:

Wenn Sie Ihre Pufferlänge (sicherer) wissen:

let dataBuffer = src_buff?.bindMemory(to: UInt8.self, capacity: len) 

Wenn Sie nicht wissen, es:

let dataBuffer = src_buff?.assumingMemoryBound(to: UInt8.self) 
+0

thx !!! es funktionierte! –

Verwandte Themen