【发布时间】:2015-07-16 04:13:28
【问题描述】:
我正在努力从我在 Github 上找到并导入到我的 Swift 项目中的 Objective C 文件中访问一个块。
这是我导入的 .m 文件中的 Objective C 块声明:
-(void)capture:(void (^)(LLSimpleCamera *camera, UIImage *image, NSDictionary *metadata, NSError *error))onCapture exactSeenImage:(BOOL)exactSeenImage;
这是原始 Objective C Github 示例项目中调用的块:
[self.camera capture:^(LLSimpleCamera *camera, UIImage *image, NSDictionary *metadata, NSError *error) {
if(!error) {
[camera stop];
ImageViewController *imageVC = [[ImageViewController alloc] initWithImage:image];
[self presentViewController:imageVC animated:NO completion:nil];
}
} exactSeenImage:YES];
我的 Swift 翻译(通过自动完成完成):
self.camera?.capture({ (camera:LLSimpleCamera!, image:UIImage!, metadata:NSDictionary!, error:NSError!) -> Void in
if error == nil {
camera.stop()
let imageVC = ImageCapturedViewController()
self.presentViewController(imageVC, animated: NO, completion: nil)
}
}, exactSeenImage: true)
Xcode 显示这两个错误:
'_??'不能转换为“无效”
'错误类型?'不能转换为“无效”
【问题讨论】:
标签: ios objective-c swift methods