Как переименовать файл с помощью NSFileManager У меня есть один файл с именем a.caf в каталоге документов. Я хотел бы переименовать его, когда пользователь вводит в UITextField и нажимает изменения (текст, введенный в UITextField, должен быть новым именем файла). Как я могу это сделать? Ответ 1 Вы можете использовать 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]; Ответ 2 Чтобы обновить этот вопрос, я добавляю версию 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) } Ответ 3 Это функция daehan park для преобразования в Swift 3: func moveFile(pre: String, move: String) -> Bool { do { try FileManager.default.moveItem(atPath: pre, toPath: move) return true } catch { return false } } Ответ 4 Работает на Swift 2.2 func moveFile(pre: String, move: String) -> Bool { do { try NSFileManager.defaultManager().moveItemAtPath(pre, toPath: move) return true } catch { return false } }
Ответ 1 Вы можете использовать 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];
Ответ 2 Чтобы обновить этот вопрос, я добавляю версию 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) }
Ответ 3 Это функция daehan park для преобразования в Swift 3: func moveFile(pre: String, move: String) -> Bool { do { try FileManager.default.moveItem(atPath: pre, toPath: move) return true } catch { return false } }
Ответ 4 Работает на Swift 2.2 func moveFile(pre: String, move: String) -> Bool { do { try NSFileManager.defaultManager().moveItemAtPath(pre, toPath: move) return true } catch { return false } }