如何在ios中停止执行for循环

时间:2014-08-18 05:17:43

标签: ios objective-c ios7 nsoperationqueue

您好我的应用程序中有两种类型的同步。 1.Auto sync 2.Manual Sync。在这两个同步中,我正在从服务器下载一堆文件。如果我选择自动同步,则所有文件都将被下载。

代码就像这样

for(int i=0;i<filescount;i++)
{

[self downloadfiles];

}

-(void)download files
{
   //Here i am creating `NSInvocationOperation`.

      if(!synchingfilecount)
         totalreceiveddata=0;
}

基于totalreceiveddata,我正在更新进度条。现在的问题是,如果它是自动同步它工作正常。使用自动同步下载文件,如果我点击手动同步,时间[self downloadfiles];方法将被调用,但问题是synchingfilescount没有立即更新它的中间#;s由于这个原因,totalreceiveddata变为0并且进度条消失,因此完成autosyncfiles下载和synchingfilescount变为0。完成此操作后,synchingfilecount再次变为4但由于上述情况我无法看到进度条。请任何人帮助我如何从这种情况中走出来。

1 个答案:

答案 0 :(得分:0)

好的,如果我理解你的问题,听起来你需要创建一些标志,以便管理代码流。您可以通过创建布尔属性并在这些同步方法的完成块中根据需要进行设置来完成此操作。这样,您可以在调用完成后调用方法或仅执行方法。