IOS,从Obj-c转换为swift

时间:2015-09-02 11:04:14

标签: ios swift

有人可以帮助我将此方法转换为swift吗?

-(void) camera:(DJICamera*)camera didReceivedVideoData:(uint8_t*)videoBuffer length:(int)length {
    uint8_t* pBuffer = (uint8_t*)malloc(length);
    memcpy(pBuffer, videoBuffer, length);
    [[VideoPreviewer instance].dataQueue push:pBuffer length:length];
}

我的翻译就在下面,然而,应用程序崩溃了。 因为在这种情况下它需要USB连接到无人机,我无法调试它。

func camera(camera: DJICamera!, didReceivedVideoData videoBuffer: UnsafeMutablePointer<UInt8>, length: Int32)
{
    VideoPreviewer.instance().dataQueue.push(videoBuffer, length: length)
}

1 个答案:

答案 0 :(得分:2)

我编译并且有效。

func camera(camera: DJICamera!, didReceivedVideoData videoBuffer: UnsafeMutablePointer<UInt8>, length: Int32) {
        // keep 'buffer' as 'var', 'let' will crash VideoPreviewer
        var buffer = UnsafeMutablePointer<UInt8>.alloc(Int(length))
        memcpy(buffer, videoBuffer, Int(length))
        VideoPreviewer.instance().dataQueue.push(buffer, length: length)
    }