显示启动画面(UIViewController),而数据库(FMDB)正在加载iPhone

时间:2011-09-13 10:10:46

标签: iphone uiviewcontroller fmdb

我的申请有点问题。
我有WebServices接收信息而不是解析它并将信息存储在数据库中。

我想要的是我的启动画面(或UIViewController)显示,直到所有信息上传到数据库(FMDB是我正在使用的数据库)。

目前,我有一段时间的屏幕加载,而不是被删除。 我使用的代码是:
[self performSelector:@selector(removeSplashScreen) withObject:nil afterDelay:30];

问题是某些信息被加载到数据库,而其他信息则没有。

可以给我一些关于如何解决这个问题的提示。

注意:启动画面实际上不是启动画面(默认为.png),这只是在启动画面后显示的UIViewController我称之为启动画面。

由于

2 个答案:

答案 0 :(得分:1)

您可以通过提供通知或委托方法来指示解析完成。然后可以使用它来移除闪屏。 这表示在数据加载之前显示启动画面并不是一个好方法。如果加载数据有相当大的延迟怎么办?请重新考虑您的方法。这种方法通常不适合Apple。

答案 1 :(得分:0)

如果您的数据库代码(下载,解析和保存)中有可用的回调功能,请使用该功能删除启动画面控制器。 将数据存储到数据库后,你在做什么?你把它显示在表或webview或其他什么?知道答案,将有助于优化闪屏目标的解决方案。

编辑:

if (nodeCount == 0 && indexPath.row == 0)
{
     cell.detailTextLabel.text = @"Loading…";

     return cell;
}// Leave cells empty if there's no data yet
if (nodeCount > 0)
{
     //fill cells with actual data that is present in database
     return cell;
}