Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 从另一个viewController调用web视图_Ios_Objective C_Webview_Uiviewcontroller - Fatal编程技术网

Ios 从另一个viewController调用web视图

Ios 从另一个viewController调用web视图,ios,objective-c,webview,uiviewcontroller,Ios,Objective C,Webview,Uiviewcontroller,我在主UIViewController上有一个UIWebView,工作正常。我使用此命令发送数据,再次说明一切正常: [self.dWebView stringByEvaluatingJavaScriptFromString: myString]; 问题是我添加了另一个UIViewController(QRViewController)从QR标签读取数据,我希望以相同的方式发送数据。 这是我在QRViewController上的代码,但什么也没发生: ViewController* _view

我在主
UIViewController
上有一个
UIWebView
,工作正常。我使用此命令发送数据,再次说明一切正常:

[self.dWebView stringByEvaluatingJavaScriptFromString: myString];
问题是我添加了另一个
UIViewController
QRViewController
)从QR标签读取数据,我希望以相同的方式发送数据。 这是我在
QRViewController
上的代码,但什么也没发生:

ViewController* _viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
[_viewController.dWebView stringByEvaluatingJavaScriptFromString: qrString];
有可能这样做吗?有什么东西不见了吗


提前感谢。

将NSString*str对象添加到您的ViewController中

将其传递为:_viewController.str=qrString

[self.dWebView stringByEvaluatingJavaScriptFromString:self.str]


这将起作用

您正在通过调用以下代码创建同一
UIViewController
类的第二个实例:

ViewController* _viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
\u viewController
未指向屏幕上可见的副本,它是当前未显示的新副本

您需要获取当前显示的上一个实例的句柄,并将数据传递回该实例。这将取决于您如何构建此应用程序

例如:

  • 如果以MODALY方式显示,则需要获取
    self.presentingViewController
  • 如果您使用的是navigationController,则可以访问它的
    viewControllers
    属性以获取之前的属性的句柄

谢谢,我也试过了。我使用[self DismissionViewControlleranimated:YES completion:nil]关闭QRViewController;我希望主ViewController上的ViewWillDisplay或ViewDidDisplay将被调用以发送字符串,但它们不是。您是否尝试过在块中编写代码?[self dismissViewControllerAnimated:YES完成:^{[self.dWebView stringByEvaluatingJavaScriptFromString:myString];}];否则,创建一个委托以向后传递数据。这肯定会奏效的