Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/136.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
C++ 已打开文件上的removeItemAtPath_C++_Iphone_Objective C_Nsfilemanager - Fatal编程技术网

C++ 已打开文件上的removeItemAtPath

C++ 已打开文件上的removeItemAtPath,c++,iphone,objective-c,nsfilemanager,C++,Iphone,Objective C,Nsfilemanager,我在iPhone上打开了一个文件,通过网络发送数据(使用“\u open”打开)。不过,我有能力从iphone界面删除文件。这是使用NSFileManager的removeItemAtPath完成的 奇怪的是,即使文件当前处于打开状态,removeItemAtPath仍然成功 文件在网络上完全传输,并且在传输完成之前removeItemAtPath成功。那么removeItemAtPath是否执行延迟删除?ie如果该文件正在使用,是否将其排队以备将来使用?如果是这样,那么就没有问题了 如果不是。

我在iPhone上打开了一个文件,通过网络发送数据(使用“\u open”打开)。不过,我有能力从iphone界面删除文件。这是使用NSFileManager的removeItemAtPath完成的

奇怪的是,即使文件当前处于打开状态,removeItemAtPath仍然成功

文件在网络上完全传输,并且在传输完成之前removeItemAtPath成功。那么removeItemAtPath是否执行延迟删除?ie如果该文件正在使用,是否将其排队以备将来使用?如果是这样,那么就没有问题了

如果不是。。。有人知道如何让NSFileManager报告它没有执行删除操作的事实吗


谢谢

根据

:

shouldremovietematpath
如果操作应该继续,则返回YES,而不一定它已经成功删除了该项。有趣的是,文档中还指出:

讨论此方法返回否将导致NSFileManager停止删除该项目。如果该项是目录,则也不会删除该项的子项


这让我相信这是一个异步操作,不应该使用此方法的返回值来确定文件是否已成功删除。我的猜测是,它将对象排队等待删除,当文件不再使用时将被删除。

猜测一下就可以了。我需要知道。顺便说一句,我没有实现shouldRemoveItemAtPath。同样,没有什么可以阻止它保持完全同步。我不明白这意味着什么程度的异步性……我认为这只是一个猜测。这是苹果官方的文档。如果成功删除的返回值为YES,或不成功删除的返回值为NO,则它将声明。不过,它告诉我们的是,该方法的最佳猜测是删除将继续。文件只是被删除,而不是立即删除。传输完成后,如果我再次尝试传输文件,它会在iPhone上返回“不存在”。分类。