Я хочу прочитать значение текстового поля из Objective-C ++ (.mm) после ввода нового значения в UITextField (.swift).
Я могу вывести «nsNumberVar» (новое значение) из swift и прочитать«54321» (инициализированное значение) из .mm, но не может прочитать новое вставленное значение из файла .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
.
.
.