[英]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.