小编use*_*803的帖子

在URL方案OpenURL之后从AppDelegate调用ViewController方法

我试图LoadWebpage从AppDelegate.m 调用ViewController.m中的函数.

我已经使用URL方案启用了我的应用程序,以便Safari中的"urlscheme://?querystring"链接打开我的应用程序.我在AppDelegate中捕获url方案(我可以通过记录这可以告诉它这是有效的)并且想用querystring填充一个全局变量然后调用我的LoadWebPage方法,以便视图控制器可以使用全局变量并打开所请求的网站在WebView控件中.

我正在学习本教程.

这是AppDelegate.m:

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{
    NSLog(@"Calling Application Bundle ID: %@", sourceApplication);
    NSLog(@"URL scheme:%@", [url scheme]);
    NSLog(@"URL query:%@", [url query]);
    URLString = (NSString *)[url query]; //extern variable

    [self.ViewController loadWebpage];
    return YES;

}
Run Code Online (Sandbox Code Playgroud)

在ViewController.m中:

- (void)LoadWebpage{

    NSString *strURL=URLString;  //more logic will be required to get the appropriate url from the query string.
    NSURL *url = [NSURL URLWithString:strURL];
    NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
    [self.webview loadRequest:urlRequest];

}
Run Code Online (Sandbox Code Playgroud)

但该行[self.ViewController loadWebpage]; …

iphone xcode objective-c uiviewcontroller ios

2
推荐指数
1
解决办法
4043
查看次数

标签 统计

ios ×1

iphone ×1

objective-c ×1

uiviewcontroller ×1

xcode ×1