我的应用登录问题

时间:2012-10-16 14:35:27

标签: iphone objective-c ios

我已经为我的应用程序登录了,所以,为了完成它,我修改了方法didfinishlaunching委托。 在此方法中,我从userdefaults中获取会话并检查是否有效(调用我的服务器)。如果它是正确的,我加载主视图控制器,如果没有,加载登录视图控制器。

问题是在方法didfinishlaunching我没有加载任何viewcontroller,因为我正在等待来自服务器的响应。我在连接的委托中加载了viewcontrollers。这导致了我2个问题:

  • 错误告诉我必须加载一个主视图控制器
  • 如果我这样做,我会放一个viewcontroller,等待显示viewcontroller的响应的时间,而且非常难看。

我认为一个解决方案可能是做另一个viewcontroller,只有一个加载栏,并在我等待响应时加载它...

3 个答案:

答案 0 :(得分:1)

我认为您可以显示一个视图控制器,但添加一些带有活动指示符的叠加视图,当您收到响应时,只需删除叠加层并根据响应重新加载视图控制器。

答案 1 :(得分:1)

我在我制作的应用程序中完成了你所说的内容:在开始时我创建了一个“SplashScreenViewController”,它的UIImageView等同于我用作应用程序的启动画面的图像。 在这里,我有一个加载轮,我加载我需要的每种数据。当我收到我需要的所有数据时,我会加载我的根控制器。

您也可以这样做,但您可以加载与会话状态相关的控制器。

答案 2 :(得分:1)

在nsmainthred处理时,创建一个新的nsthred来创建视图加载并从视图控制器添加到子视图中。当您收到响应时,从超级视图中删除此视图 并根据您的回复,致电您的其他视图控制器