2016-03-29 15 views
3

同じ名前のファイルが既に存在する場合でもファイルを移動しようとしています。上書きオプションを持っているmoveItemAtURLNSFileManagerの方法ファイルを移動して上書きする

NSFileManager().moveItemAtURL(location1, toURL: location2) 

?既存のファイルをどのように置き換えることができますか?

+0

宛先ファイルを削除してから移動します。 – EmilioPelaez

+1

は、この質問に対するobjcの回答をたくさん示しています。 http://stackoverflow.com/questions/6137423/how-to-overwrite-a-file-with-nsfilemanager-when-copyingやhttp:// stackoverflowなど、これらの回答の一部を迅速に変換することができます。 .COM /質問/ 20683696/ –

答えて

6

ファイルがターゲットの場所に存在するかどうかは、いつでも確認できます。 の場合は、削除してアイテムを移動してください。

let filemgr = NSFileManager.defaultManager() 

if !filemgr.fileExistsAtPath(location2) 
{ 
    do 
    { 
    try filemgr.moveItemAtURL(location1, toURL: location2) 
    } 
    catch 
    { 
    } 
} 
else 
{ 
    do 
    { 
    try filemgr.removeItemAtPath(location2) 
    try filemgr.moveItemAtURL(location1, toURL: location2) 
    } 
    catch 
    { 

    } 
} 
+0

をどのようにツー上書きフォルダ-使用-nsfilemanager-defaultmanager-とき-コピーすることは、これはより簡潔ではないでしょう: 'filemgr.fileExistsAtPath(LOCATION2) { が { 試みを行う場合filemgr.removeItemAtPath(LOCATION2) }キャッチ {}} {がfilemgr.moveItemAtURL(LOCATION1、toURL:LOCATION2)試してください } Cをアーチ { } – KaraBenNemsi

関連する問題