[英]Objective-C method ':' provided by method ' ' conflicts with optional requirement method ' ' in protocol
[英]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.