我的申请有点问题。
我有WebServices接收信息而不是解析它并将信息存储在数据库中。
我想要的是我的启动画面(或UIViewController)显示,直到所有信息上传到数据库(FMDB是我正在使用的数据库)。
目前,我有一段时间的屏幕加载,而不是被删除。
我使用的代码是:
[self performSelector:@selector(removeSplashScreen) withObject:nil afterDelay:30];
问题是某些信息被加载到数据库,而其他信息则没有。
可以给我一些关于如何解决这个问题的提示。
注意:启动画面实际上不是启动画面(默认为.png),这只是在启动画面后显示的UIViewController
我称之为启动画面。
由于
答案 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;
}