如何在ObjectiveC中调用基于Swift的完成块?
public var completionBlock: IMGLYEditorCompletionBlock?
public typealias IMGLYEditorCompletionBlock = (IMGLYEditorResult, UIImage?) -> Void
这就是我在Swift中称呼它的方式,但是在Objective C中却永远无法使用。
func callEditorViewController() {
var editorViewController = IMGLYMainEditorViewController()
editorViewController.highResolutionImage = image
editorViewController.initialFilterType = .None
editorViewController.initialFilterIntensity = 0.5
editorViewController.completionBlock = editorCompletionBlock
}
func editorCompletionBlock(result: IMGLYEditorResult, image: UIImage?) {
...
}
这是我的目标C代码,语法错误。
-(void) editorCompletionBlock:(IMGLYEditorResult*)result img:(UIImage*)image{
}
IMGLYMainEditorViewController *editor = [[IMGLYMainEditorViewController alloc]init];
editor.highResolutionImage = image;
editor.completionBlock = [self editorCompletionBlock:r img:image];
调用块很简单:
editor.completionBlock(result, image);
仍然感觉您想设置它:
editor.completionBlock = ^(IMGLYEditorResult result, UIImage *image) {
// do something meaningful here
};
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句