dispatch_async中的事件序列

时间:2013-05-13 21:34:33

标签: ios dispatch-async

我正在处理需要在远程数据库和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的行为与此类似。

有人可以帮助我吗

0 个答案:

没有答案