【发布时间】:2018-12-13 15:57:39
【问题描述】:
在 Swift 应用程序中,我有一个 ViewController,它调用了一个新的 modal。这个modal 具有ViewController Objective-C 实现为ViewController_obj_c。
这个modal 是从Swift 代码中显示出来的,我想在Objective-C 代码完成后调用回调属性(带有UIImage 参数)。
我的回调属性 "signCompleteCallback" 不起作用。如何从Swift 填充回调属性并在Objective-C 中调用它?
SwiftViewController.swift:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "showModalSegue" {
if let nextVC = segue.destination as? ViewController_obj_c {
nextVC.signCompleteCallback = #selector(self.Test)
}
}
}
@objc func Test(image: UIImage)
{
debugPrint("Test method was called as callback with image parameter")
}
ViewController_obj_c.h:
@interface ViewController_obj_c : UIViewController <UIPopoverPresentationControllerDelegate>
@property SEL signCompleteCallback;
- (IBAction)Done_Clicked:(id)sender;
ViewController_obj_c.m:
- (IBAction)Done_Clicked:(UIButton *)sender
{
UIGraphicsBeginImageContext(_dV.bounds.size);
[_dV.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[self signCompleteCallback]; // Here is the point when I want to call me callback and as a parameter i want to send image
}
【问题讨论】:
标签: objective-c swift callback delegates