2017-02-24 132 views
0

我用NSKeyedArchiver.archiveRootObject(Any, toFile: String)函數來將對象數組存儲在ios的plist中。快速刪除plist

每次我調用這個函數時,新的數據都會添加到plist文件中,而不是覆蓋舊的數據。

我的想法是刪除舊的plist文件並將數據寫入一個新創建的同名同名plist。

但我不知道如何用swift刪除plist文件。希望有人能提前幫助和感謝!

+0

你確定你正在寫你想要的對象嗎?也許你的數組中有重複。嘗試記錄它。 archiveRootObject應覆蓋舊文件。 – DrummerB

+0

對不起,但你的假設是不正確的。 'NSKeyedArchiver.archiveRootObject'不會附加到文件。它會覆蓋任何現有的文件。 – rmaddy

+0

嘿,夥計們!謝謝你的幫助!問題是DrummerB說,我在我的數組中複製了數據! –

回答

1

要從系統中刪除一個文件:

do { 
    if FileManager.default.fileExists(atPath: pathToPlist) { 
     try FileManager.default.removeItem(atPath: pathToPlist) 
    } 
} catch { 
    print(error) 
} 

希望的一句話:你不能從你的包刪除文件。