Ios 故事板和初始化
问题:使用故事板时如何执行自定义初始化 我读过几个与标题中的关键词相同的问题,但找不到任何答案。如果已经有人问过这个问题,或者这个问题太简单,请原谅:我刚刚开始开发iOS应用程序 目前我有一个应用程序,其:Ios 故事板和初始化,ios,uiwebview,uistoryboard,Ios,Uiwebview,Uistoryboard,问题:使用故事板时如何执行自定义初始化 我读过几个与标题中的关键词相同的问题,但找不到任何答案。如果已经有人问过这个问题,或者这个问题太简单,请原谅:我刚刚开始开发iOS应用程序 目前我有一个应用程序,其: AppDelegate从源(当前为远程URL)读取两个需要在UIWebView实例中显示的URL 主控制器是一个带有两个选项卡的TabBarController,它们是UIWebView的实例 两个UIWebView都有方法(init和setter)来接收它们需要显示的文件的URL。这两个
从源(当前为远程URL)读取两个需要在AppDelegate
实例中显示的URL李>UIWebView
- 主控制器是一个带有两个选项卡的
,它们是TabBarController
的实例李>UIWebView
- 两个
都有方法(init和setter)来接收它们需要显示的文件的URL。这两个UIWebView
显示UIWebView
读取的URLAppDelegate
URL
传递给两个UIWebView
。我已经阅读了关于initWithCoder
方法的答案,但无法理解如何传递参数
有没有人能理解我在(令人难以置信的困惑)问题中的意思,也能帮助我?我认为正确的地方是你的ViewController。您应该在ViewController中创建UIWebView的出口,以便能够访问它们。然后,要将URL传递给他们,您可以使用:
- (void)loadRequest:(NSURLRequest *)request
我不明白您为什么远程读取AppDelegate中的URL,但如果需要,您可以从ViewController访问AppDelegate,如下所示:
[[UIApplication sharedApplication] delegate]
关于访问选项卡栏控制器中视图控制器的引用的一般问题 选项卡栏控制器有一个名为
viewControllers
的公共属性,它是选项卡栏控制器包含的视图控制器数组
可以像访问任何其他数组一样访问此数组的元素,但在本例中,它们是对所有视图控制器的引用
[tabBarController.viewControllers firstObject];
[tabBarController.viewControllers objectAtIndex:3];
for(UIViewController *vc in tabBarController.viewControllers) {
if([@"MyFirstVC" isEqualToString:vc.title]) {
// do stuff
}
}
等等等等等等你能更详细地解释一下你在做什么吗?为什么WebView不能自己处理从URL的读取?在选项卡栏控制器中是否始终有两个选项卡,并且它们始终是UIWebView?如何将URL传递给每个UIWebView?我并不是只有UIWebView,我试着为我的问题建立一个简单的例子。你从哪里得到URL?不要告诉我“来自应用程序代理”。告诉我应用程序代理从何处获取url。应用程序代理如何知道要传递到UIWebView的URL?在当前实现中,应用程序代理连接到远程URL并下载文本文件。解析后,将创建两个具有UIWebView视图的UIViewController,并将其放入TabBarController中,然后将其用作窗口的rootViewController。但是,我的一般问题是,在使用情节提要时,如何将参数传递给放置在TabBarController中的ViewController。我查阅了各种教程,但它们总是使用静态或无数据。是的。应用程序代理不应该做这些事情。他们与应用程序授权无关。在任何其他类中。它甚至可以是
NSObject
子类,但为了组织起见,它肯定需要从app委托中移出。但我并不完全相信视图控制器不能做到这一点。安东尼奥,这显然不明显。你一直很含糊。您还没有说服我视图控制器无法处理此问题。尽管如此,我的回答解释了如何在选项卡栏控制器中获取对视图控制器的引用。我同意@nhgrif-没有理由在AppDelegate中这样做。最好的方法可能是在加载ViewController时开始下载(从viewDidLoad),并在下载完成后上载UIWebView。同时,您应该通知用户,您的应用程序处于某个中间,例如显示一个UIActuviyDeaCurror视图。如果您担心的是在您的视图出现在屏幕上之前下载URL,那么在AppDelegate中很好地下载并不能保证这一点,因为这取决于网络。下载也可能失败。在这种情况下,您会怎么做?您可能希望处理显示错误消息的问题。