目标是将用于捕捉照片和视频的Objective-C库PBJVision合并到Swift应用程序中。
不幸的是,我们看到了这个错误:
Objective-C方法'愿景:captureVideo:错误:'由方法'提供'vision(:capturedVideo:error :)'与协议'PBJVisionDelegate'中的可选需求方法'vision(:capturedVideo:error :)'冲突
这是触发错误的委托方法:
func vision(vision: PBJVision, capturedVideo: NSDictionary, error: NSError) {
println("Encountered error during recording \(error)")
println("Captured video")
}
似乎问题是patched a while ago,但我们使用的是新版本(即,已提及的更改已包含在内)并仍然看到错误。
为什么会发生这种情况,我们如何解决这个问题?
答案 0 :(得分:1)
这只是将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?) {
// ...
}