Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c iOS如何处理数据库更新所需的时间_Objective C_Ios_Database_Multithreading_Sqlite - Fatal编程技术网

Objective c iOS如何处理数据库更新所需的时间

Objective c iOS如何处理数据库更新所需的时间,objective-c,ios,database,multithreading,sqlite,Objective C,Ios,Database,Multithreading,Sqlite,每次启动我的应用程序时,我都会让它检查自上次启动应用程序以来,我们的服务器数据库中是否有任何更改。如果有,服务器将返回一个json字符串,我必须解析该字符串并将其输入应用程序中的sqlite数据库 我从AppDelegate执行此操作,但我的问题是,如果有大量数据要更新,则AppDelegate会在数据库更新完成之前推送下一个ViewController。在数据库更新完成之前,我不允许应用程序移动到第一个ViewController 我该怎么做呢? 还是有更好的方法来处理这个问题 谢谢大家! 在

每次启动我的应用程序时,我都会让它检查自上次启动应用程序以来,我们的服务器数据库中是否有任何更改。如果有,服务器将返回一个json字符串,我必须解析该字符串并将其输入应用程序中的sqlite数据库

我从AppDelegate执行此操作,但我的问题是,如果有大量数据要更新,则AppDelegate会在数据库更新完成之前推送下一个ViewController。在数据库更新完成之前,我不允许应用程序移动到第一个ViewController

我该怎么做呢? 还是有更好的方法来处理这个问题


谢谢大家!

在检查数据库之前不要显示“nothing”。而是显示一个显示消息的视图,例如:“检查更新…”。如果可能,也显示进度条

我只是这么想。我现在尝试的是在第一个ViewController上设置一个自定义启动屏幕,直到数据库更新完成。我在第一个ViewController中的导航栏和选项卡栏上获取视图时遇到问题。我试着隐藏它们,但tabbar不会消失。像这样的东西可能会使progress HUD更容易创建。是的,我用MBHUD。这显示了一个HUD,其设计与苹果公司使用的类似(如更改音量时显示的HUD)。您可以在执行数据库更新时显示,然后在完成后启动第二视图控制器。这太完美了。最后一个问题。当更新完成时,最好的方法是什么?