我在这里有些两难。我有一个具有UINavigationViewController作为rootViewController的应用程序。据我所知,UINavigationViewController实例化时需要rootViewController。问题是,我有几个UIViewControllers可供选择,而选择取决于从Web服务返回的数据。
这是否意味着我应该在AppDelegate中调用Web服务并且仅在获取数据后才实例化UINavigationViewController?
我还考虑过创建一个包装UIViewController,该包装包含UINavigationViewController及其视图作为子视图。但是看起来嵌套视图控制器有一些缺点,主要在生命周期和旋转方面。
有一个更好的方法吗?谢谢!
更新:我的同事推荐了另一种可能最干净的解决方案。在这里,AppDelegate加载了一个“引导程序” ViewController,其主要目的是从Web服务中提取数据并可能显示加载指示符。一旦获得数据,它将删除自身并添加具有适当根目录的Navigation控制器。
最佳答案
也许推送带有“正在等待数据...”视图的viewcontroller,然后在Web响应到达时弹出它并推送适当的viewcontroller?
关于iphone - 可以在App Delegate中调用Web服务吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7435947/