iphone - 可以在 App Delegate 中调用 Web 服务吗?

标签 iphone objective-c ios ipad

我现在有点进退两难。我有一个将 UINavigationViewController 作为 rootViewController 的应用程序。据我所知, UINavigationViewController 在实例化时需要 rootViewController 。问题是,我有几个 UIViewController 可供选择,并且选择取决于从 Web 服务返回的数据。

这是否意味着我应该在 AppDelegate 中调用 Web 服务,并且只有在获取数据后才实例化 UINavigationViewController?

我还考虑过创建一个包装 UIViewController,其中包含 UINavigationViewController 及其作为 subview 的 View 。但看起来嵌套 View Controller 有一些缺点,主要是在生命周期和旋转方面。

有更好的方法吗?谢谢!

更新:我的同事推荐了另一种可能是最干净的解决方案。在这里,AppDelegate 加载一个“ Bootstrap ”ViewController,其主要目的是从 Web 服务中提取数据,并可能显示加载指示器。一旦获得数据,它将删除自身并添加具有适当根的导航 Controller 。

最佳答案

也许会推送一个带有“等待数据...” View 的 View Controller ,然后当网络响应到达时弹出它并推送适当的 View Controller ?

关于iphone - 可以在 App Delegate 中调用 Web 服务吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7435947/

相关文章:

ios - 图表 : How to set colors of left and right axis labels in LineChartView?

iphone - 为什么 UIViewController 在屏幕上被释放

ios - VIPER - Interactor 是否应该只返回必要的信息?

iphone - 是否有 NSURLConnection 的可靠替代方案?

iphone - 我应该如何存储核心数据 'selected' 项?

ios - 如果 Swift 将来会取代 Objective-C

objective-c - 核心数据的复杂性

iphone - 如何向 UITableView 添加页脚?

ios - 如何将标签栏 Controller 作为 subview 添加到父 View ?

iphone - UITableView 单元格内的 UITextField