ドキュメントディレクトリにa.cafという名前の単一のファイルがあります。ユーザーがUITextField
に入力して変更を押すと、名前を変更したいと思います(UITextField
に入力したテキストは、新しいファイル名にする必要があります)。
これどうやってするの?
moveItemAtPath を使用できます。
NSError * err = NULL;
NSFileManager * fm = [[NSFileManager alloc] init];
BOOL result = [fm moveItemAtPath:@"/tmp/test.tt" toPath:@"/tmp/dstpath.tt" error:&err];
if(!result)
NSLog(@"Error: %@", err);
[fm release];
この質問を最新に保つために、Swiftバージョンも追加しています:
let documentDirectory = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as! String
let originPath = documentDirectory.stringByAppendingPathComponent("/tmp/a.caf")
let destinationPath = documentDirectory.stringByAppendingPathComponent("/tmp/xyz.caf")
var moveError: NSError?
if !manager.moveItemAtPath(originPath, toPath: destinationPath, error: &moveError) {
println(moveError!.localizedDescription)
}
これは、デハンパークがSwift 3に変換する関数です。
func moveFile(pre: String, move: String) -> Bool {
do {
try FileManager.default.moveItem(atPath: pre, toPath: move)
return true
} catch {
return false
}
}
取り組みましたSwift 2.2
func moveFile(pre: String, move: String) -> Bool {
do {
try NSFileManager.defaultManager().moveItemAtPath(pre, toPath: move)
return true
} catch {
return false
}
}