在ViewController中使用AppDelegate方法

时间:2011-12-21 21:36:42

标签: objective-c xcode webview startup

注意:解决了问题。感谢

我只是一个全新的应用开发者计划的高中生。所以,请原谅我,因为我知道的很少,因为,我真的不知道我会做多少。忍受我XD

我需要在AppDelegate中使用以下启动来在我的应用程序中显示webView的开始屏幕,而不是空白的白屏:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

// THIS SECTION IS WHAT I NEED
NSURL *url = [NSURL URLWithString:@"http://www.earlham.k12.ia.us"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView loadRequest:request];


return YES;

}

然而,要使用它,我需要访问webView,这是我在ViewController.h中声明的WebView对象。但是,这不起作用,因为我不能声明它两次,也不能从其他头文件中使用它,据我所知。我知道这是可能的,但在这个基本层面,我不知道如何。请包含代码示例。

非常感谢!

3 个答案:

答案 0 :(得分:1)

为什么要将它放在应用程序委托中?这看起来像实际的ViewController应该能够处理的东西。

答案 1 :(得分:0)

UIWebView的实例只能通过其包含UIViewController来管理。应用程序委托负责将视图控制器作为窗口的子视图显示在屏幕上。从那里,视图控制器有责任适当地管理Web视图。

答案 2 :(得分:0)

我同意其他答案,即此代码应属于视图控制器,而不是应用程序委托。

如果您确实想要访问应用程序委托中的代码,则必须创建一个包含所需代码的方法,并从视图控制器中调用该代码(因为您不希望自己调用didFinishLaunchingWithOptions,它会获得在合适的时间拜访你。)

一般而言,最好将代码中的责任分开,而不是将通用代码放入应用代理中。