2011-12-21 61 views
0

注意:已解决问题。谢谢在ViewController中使用AppDelegate方法

我只是一个全新的应用程序开发人员计划的高中学生。所以,请原谅我好像我知道的很少,因为我真的不知道我会怎么样。多多包涵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对象。然而,这是行不通的,因为我不能声明它两次,也不能从其他头文件中使用它,据我所知。我知道这是可能的,但在这个基础层面上,我不知道如何。请包含代码示例。

非常感谢!

+2

给回答者的提示:这是一个家庭作业问题。为了提高开发人员的总体质量,只能提供想法,而不能直接编写他可以复制/粘贴的代码。 – 2011-12-21 21:38:22

+2

最终的项目,你不知道如何设置视图控制器? – 2011-12-21 21:39:20

+0

你能告诉我们如何在ViewController.h中声明webView。在任何情况下,您都会将webView视为属于appDelegate的变量,而这可能并非如此。如果它属于viewController,则需要编写类似[viewController.webView loadRequest:request]的内容。此外,还需要将viewController的视图添加到应用程序的viewStack中。 – 2011-12-21 21:46:34

回答

1

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

+0

作为一名起步编码员,我没有专业知识来设计解决方案。我知道流利的Java,所以我在编码方面并不完全无能,只是Objective-C – JTApps 2011-12-21 22:02:48

+0

所以;我换个方式。有没有办法从ViewController启动设置主页? – JTApps 2011-12-21 22:03:15

+0

UIViewController中的' - (void)viewDidLoad'可以为你做到这一点。只需创建方法并在那里添加代码。 – 2011-12-21 22:04:20

0

UIWebView的实例只能由其包含UIViewController进行管理。应用程序委托负责将屏幕上的视图控制器作为窗口的子视图。从那里,视图控制器负责适当地管理Web视图。

0

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

如果您确实想要访问应用程序委托中的代码,您必须创建一个包含所需代码的方法,并从您的视图控制器调用该方法(因为您不想自己调用didFinishLaunchingWithOptions,它在适当的时候被你召唤)。

一般来说,最好将代码中的责任分开,而不是将通用代码放在应用程序委托中。

相关问题