在UITextField(.swift)中输入新值后,我想从Objective-C ++(.mm)中读取文本字段值。
我可以从swift打印“ nsNumberVar”(新值),并从.mm读取“ 54321”(初始化值),但是无法从.mm文件读取新插入的值。
解决此问题的最佳和最简单的方法是什么?
//.swift
@objc class ViewController: UIViewController,UITextFieldDelegate
{
@objc var nsNumberVar: Double = 54321
@objc func textField3(textField:UITextField){
textField3 = textField
textField3?.placeholder = "some value"
}
@objc func okHandler(alert:UIAlertAction!){
textView.text = "SOME VALUE: \(String(describing:
textField3!.text!))"
guard let textField3 = textField3?.text
else {
return
}
let doubleValue = Double((textField3 as NSString).doubleValue)
nsNumberVar = doubleValue
//print(nsNumberVar)
}
func captured(image: UIImage) {
imageOutlet.image = TestWrapper.originalImage(image)
}
//.mm
@implementation TestWrapper
+(UIImage *) originalImage:(UIImage *)image{
Mat inputImage;
UIImageToMat(image, inputImage);
ViewController *a = [[ViewController alloc] init];
std::cout << a.nsNumberVar<< endl;
return MatToUIImage(inputImage);
}
@end
//result -> unable to read a new value
54321
54321
54321
.
.
.