我有一个需求,我需要在for循环中从API进行一些下载数据,并且必须将该响应写入Plist并从Plist读取数据并更新tableview以在每个单元格上显示一个指示器。同样在另一个线程上,如果下载被取消,那么我需要停止写入Plist并清除Plist中的所有数据,然后更新tableview以删除每个单元格上的指示器。
我正在使用OperationQueue进行API调用,并在收到响应后开始写到Plistand更新tableview,这工作正常,并且在停止下载时,我取消了所有API调用,并从Plist中删除数据并更新tableview。这也很好,但是在某些情况下,我观察到取消所有请求并清除Plist中的数据后,Plist中的数据也正在更新。
那么,我们如何异步读写Plist?