-1

目标是将PBJVision(一个用于捕获照片和视频的 Objective-C 库)整合到 Swift 应用程序中。

不幸的是,我们看到了这个错误:

Objective-C 方法 'vision:capturedVideo:error:' 提供​​的方法 'vision(:capturedVideo:error:)' 与协议 'PBJVisionDelegate' 中的可选要求方法 'vision(:capturedVideo:error:)' 冲突

这是触发错误的委托方法:

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

似乎问题已经修复了一段时间,但我们使用的是新版本(即,提到的更改已经包含在内)并且仍然看到错误。

为什么会发生这种情况,我们该如何解决?

4

1 回答 1

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?) {
    // ...
}
于 2015-06-20T22:30:46.503 回答