我正在处理需要在远程数据库和Phone上的Localdata之间同步数据的应用程序,我使用Rest WCF服务获取数据,然后以.plist格式将数据写入Library \ cache文件夹,然后我更新本地通过以.plist格式读取此文件,使用Core Data在手机上的数据。我使用的代码如下
dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void){
//Function to write data in .plist ---1
// Function to read Data and return Array from File --2
// Update the Core data -3
dispatch_async(dispatch_get_main_queue(), ^(void){
//Update the TableView ---4
});
});
我的问题是步骤4(更新TableView)甚至在第3步(更新核心数据)之前就被调用,所以我的表视图没有更新为什么它就像那样
dispatch_async不会确保调用事件并按顺序完成它们的调用
我可以使用Notifications来执行此操作,但为什么dispatch_async的行为与此类似。
有人可以帮助我吗