0

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

问题是在方法 didfinishlaunching 中我没有加载任何视图控制器,因为我正在等待来自服务器的响应。我在连接的委托中加载视图控制器。这给我带来了两个问题:

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

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

4

3 回答 3

1

我认为您可以显示其中一个视图控制器,但添加一些带有活动指示器的覆盖视图,当您获得响应时,只需删除覆盖并根据响应重新加载您的视图控制器。

于 2012-10-16T14:40:49.563 回答
1

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

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

于 2012-10-16T14:41:38.090 回答
1

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

于 2012-10-16T14:43:05.360 回答