簡體   English   中英

錯誤橋接 Obj-C 代碼和 Swift:方法“Z”提供的方法“U”與協議“Y”中的可選要求方法“X”沖突

[英]Error bridging Obj-C code and Swift: method "U" provided by method "Z" conflicts with optional requirement method "X" in protocol "Y"

目標是將PBJVision (一個用於捕捉照片和視頻的 Objective-C 庫)合並到一個 Swift 應用程序中。

不幸的是,我們看到了這個錯誤:

由方法“vision(:capturedVideo:error:)”提供的Objective-C方法“vision:capturedVideo:error:”與協議“PBJVisionDelegate”中的可選要求方法“vision(:capturedVideo:error:)”沖突

這是觸發錯誤的委托方法:

func vision(vision: PBJVision, capturedVideo: NSDictionary, error: NSError) {
    println("Encountered error during recording \(error)")
    println("Captured video")
}

問題似乎是在不久前修補的,但我們使用的是新版本(即,提到的更改已經合並)並且仍然看到錯誤。

為什么會發生這種情況,我們如何解決這個問題?

這只是將 Objective-C 翻譯成 Swift 的問題。 Objective-C 聲明如下所示:

- (void)vision:(PBJVision *)vision capturedPhoto:(nullable NSDictionary *)photoDict error:(nullable NSError *)error;

因此,為了匹配它,您的聲明應如下所示:

func vision(vision: PBJVision, capturedVideo videoDict: [NSObject : AnyObject]?, error: NSError?) {
    // ...
}

暫無
暫無

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

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