我在iPhone上打開了一個文件,我通過網絡發送數據(使用「_open」打開)。不過,我有能力從iPhone的界面中刪除文件。這是使用NSFileManager的removeItemAtPath完成的。removeItemAtPath文件已經打開
奇怪的是,即使該文件當前處於打開狀態,removeItemAtPath仍然成功。
在傳輸完成之前,文件完全通過網絡傳輸,removeItemAtPath成功。那麼removeItemAtPath做一個懶惰的刪除?即,如果文件正在使用中,它會在以後排隊嗎?如果是的話就沒問題。
如果不是......有人知道我如何讓NSFileManager實際報告它沒有做刪除的事實嗎?
謝謝!
這很適合猜測。我需要知道。我沒有實現shouldRemoveItemAtPath btw。同樣,沒有什麼能夠阻止它完全同步。我不明白這意味着什麼水平的異步性...... – Goz 2010-10-22 22:11:42
我認爲這比猜測稍微多一點。這是官方的Apple文檔。如果成功刪除的返回值爲YES或不成功的刪除爲NO,那麼它會說明這一點。但是,它告訴我們的是,該方法的最佳猜測是刪除將繼續。 – bradenb 2010-10-24 22:47:22
那麼我確實檢查過。該文件被刪除只是不立即。我的傳輸完成後,如果我嘗試再次傳輸文件,它會返回iPhone上的「不存在」。 已排序。 – Goz 2010-11-05 15:32:08