ios - AppDelegate.m 需要将数据发送到单独的 ViewController 的 WebView

标签 ios objective-c uiwebview viewcontroller appdelegate

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {

     if ([url.scheme isEqualToString:@"mycustomscheme"]) {

          NSString *urlString = @"http://google.com/";
          NSURL *urlString = [NSURL URLWithString:urlString];
          NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
          [tapView loadRequest:loadObj];

     }
}

“tapView”(一个 UIWebView)在“ViewController.m”中工作正常,但是当我在“AppDelegate.m”中使用它时它就无法工作。我需要做些什么才能让这段代码在我的“AppDelegate.m”文件中运行。我会很感激一步一步的解释,因为我是一名网页设计师,而不是程序员,呵呵。 :)

我的代码试图做的是检测在 Safari 中加载的“mycustomscheme://”,当然还会启动应用程序,然后将 google.com 加载到 UIWebView 中(以证明它正在运行)。我需要以某种方式连接 tapView,以便它由 AppDelegate.m 操纵。

最佳答案

最好让 ViewController 加载自己的 Web View ,因此您应该在该 Controller 中创建一个方法来处理该操作(在 ViewController.m 中):

-(void)loadWebViewFromAppDelegate {
     NSString *urlString = @"http://google.com/";
     NSURL *urlString = [NSURL URLWithString:urlString];
     NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
     [tapView loadRequest:loadObj]; // I'm assuming that tapView is a property or outlet in this controller
}

在应用程序委托(delegate)中,获取对该 Controller 的引用,并调用其方法,

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {

     if ([url.scheme isEqualToString:@"mycustomscheme"]) {
         ViewController *vc = (ViewController *)self.window.rootViewController;
         [vc loadWebViewFromAppDelegate];
     }
}

关于ios - AppDelegate.m 需要将数据发送到单独的 ViewController 的 WebView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20795450/

相关文章:

ios - ://Would Like To Use Your Current Location

ios - 更改 iPhone 和 iPad 上的替代图标(setAlternateIcon for iPhone & iPad)

ios - 哪种技术更好地存储IOS应用程序数据并在离线模式下运行应用程序?文档目录或缓存目录或临时目录?

ios - 如何以编程方式突出显示 UIWebView 的特定文本?

ios - 如果没有收到数据则抛出异常

objective-c - enum 没有被编译器类型检查?

ios - 在stringWithContentsOfFile期间记录错误消息

iphone - 在 UITabBarController 的标签栏上显示 UIView

ios - 将控制命令发送到 UIWebView 以进行在线游戏 - Swift

ios - 可以准确检测 iOS 上的 UIWebView 的最可靠解决方案是什么?