如何在加载数据时显示第二个视图,并在加载时运行指示器?

问题描述:

我制作了一个xib播放器,然后从播放列表xib转到那个。玩家视图有一堆数据需要捕获和加载。当您点击播放列表上的按钮进入播放器视图时,播放器视图将不会显示,直到捕获所有数据。如何在加载数据时显示第二个视图,并在加载时运行指示器?

我希望它立即进入播放器视图,然后在加载数据时在播放器页面上显示活动指示器。

如何在按钮单击时显示播放器xib文件,然后在那里加载数据?

+0

大家好,请帮助解决我的问题.... 在此先感谢... – 2010-09-01 06:10:03

您可以立即将您的nib和activityindicator加载到它上面,并可以使用NSOperationQueue和NSInvocationOperation和适当的选择器来执行后台任务,因为此请求将异步运行。您可以对此调用操作使用KVO“isFinished”,该操作会在操作完成后通知您,然后您可以继续执行其他任务。

+0

谢谢neha我的问题解决了 – 2010-09-04 07:18:47

我建议你只把最必要的UI元素放到你的xib中,然后通过在你的viewcontroller中实现viewDidLoad来启动冗长的加载过程(如果你需要重新加载每次你切换到播放器视图)或loadFromNib如果你需要它只运行一次,当它首次从xib载入时)。

此外,您可以将加载移动到单独的线程(请参阅:NSThread),您可以将通知发送到NSNotificationCenter。您的视图控制器可以观察这些通知并更新某些状态指示器以向用户显示加载进度。