如何在使用单个 ViewController 在 TabBar 应用程序中切换视图时自动调用方法
我的应用程序使用带有 4 个选项卡的 UITabBarController。每个选项卡都有一个 UIWebView 以及其他类型的对象。当应用程序启动时,我需要调用第一个 webView 的方法来检索我的 Web 内容。
我的 viewdidLoad 中有这个方法: [self PerformSelectorInBackground:@selector(getAdvisory) withObject:nil];
第一个选项卡上的网页内容运行良好。我只是不知道如何加载其他选项卡。我想我会使用 switch 或 if 语句,但我不知道如何判断加载了哪个视图。
我需要对其余选项卡执行相同的操作。该应用程序有一个单一的视图控制器。 使用按钮设置操作时一切正常。我只是不知道在加载不同视图(点击选项卡)时如何调用该方法。
另外,当从网络检索数据时,最好使用哪些方法来不占用主线程?我已经阅读过在这种情况下将使用 NSOperation 的地方。这是正确的吗?如果是这样,我该怎么做呢?
提前致谢。
My application uses UITabBarController with 4 tabs. Each tab will have a UIWebView along with other types of objects. When the app launches I need to call the method for this first webView to retrieve my web content.
I have this method in my viewdidLoad:
[self performSelectorInBackground:@selector(getAdvisory) withObject:nil];
The web content on the first tab works fine. I'm just at a loss to get my other tabs to load up. I think I would use a switch or if statement but I do not know how to tell which view is loaded.
I need to do the same for the rest of the tabs. The app has a single view controller.
When setting an action using a button everything works fine. I just do not know how to call the method when a different view (tapping tabs) loads.
Also when retrieving data from the network, what are the best methods to use to not tie up the main thread? I have read where NSOperation would be used in this scenario. Is this correct? If so how would I go about doing this?
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我一直在寻找解决这个问题的方法,并且有更好的方法。
只需重写 viewDidAppear 方法并插入您想要在视图出现时执行的代码即可!
作为示例,以下代码将调用 myMethod。
I was looking for a solution to this problem and there is a better method.
Simply override the viewDidAppear method and insert the code you want to execute when the view does appear!
As an example the following code will call myMethod.
也许通过使用 UITabBar 的用户委托和方法:
请参阅参考。
maybe by using a user delegate of your UITabBar and the method:
See reference.