簡體   English   中英

從 OBJC 快速轉換

[英]Swift convert from OBJC

我從本指南構建相機應用程序: https : //developer.dji.com/mobile-sdk/documentation/ios-tutorials/index.html並在 swift 中編寫所有內容。 有人可以幫助將其轉換為 swift 嗎?

-(void)videoFeed:(DJIVideoFeed *)videoFeed didUpdateVideoData:(NSData *)videoData {
    [[DJIVideoPreviewer instance] push:(uint8_t *)videoData.bytes length:(int)videoData.length];
}

當我像這樣將其轉換為 swift 時:

func videoFeed(_ videoFeed: DJIVideoFeed, didUpdateVideoData videoData: Data) {
        DJIVideoPreviewer.instance().push(UInt8(videoData?.bytes ?? 0), length: (videoData?.count ?? 0))
    }

我有錯誤:

無法將“UInt8”類型的值轉換為預期的參數類型“UnsafeMutablePointer?” 無法將“UnsafeRawPointer”類型的值轉換為預期的參數類型“Int”?

請幫忙。

可以使用官方代碼示例GitHub

就在這兒

    func videoFeed(_ videoFeed: DJIVideoFeed, didUpdateVideoData videoData: Data) {
        guard videoFeed == feed else {
            NSLog("ERROR: Wrong video feed update is received!");
            return
        }
        videoData.withUnsafeBytes { (ptr: UnsafePointer<UInt8>) in
            let p = UnsafeMutablePointer<UInt8>.init(mutating: ptr)
            previewer?.push(p, length: Int32(videoData.count))
            
        }
    }

在下次刪除帖子之前嘗試更好地搜索

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM