0

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

我想要的是在所有信息上传到数据库之前显示我的启动屏幕(或 UIViewController)(FMDB 是我正在使用的数据库)。

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

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

任何人都可以给我有关如何解决此问题的提示。

注意:启动画面并不是真正的启动画面(即 Default.png),这只是UIViewController在启动画面之后显示的,我只是将其称为启动画面。

谢谢

4

2 回答 2

1

您可以通过提供通知或委托方法来指示解析完成来做到这一点。然后可以使用它来删除启动画面。也就是说,在加载数据之前显示启动画面并不是一个好方法。如果加载数据有相当长的延迟怎么办。请重新考虑您的方法。这种方法通常不适用于 Apple。

于 2011-09-13T10:35:42.037 回答
0

如果您的数据库代码(下载、解析和保存)中有可用的回调函数,请使用该函数删除启动画面控制器。将数据存储到数据库后,你在做什么?您是否将其显示到表格或网络视图或其他内容中?知道这个问题的答案将有助于优化您的初始屏幕目标的解决方案。

编辑:

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;
}
于 2011-09-13T10:19:31.270 回答