2016-09-23 8 views
1

Я хранил изображение .jpg в каталоге документов iOS. Я могу писать файлы и читать файлы, но когда дело доходит до их удаления, он говорит, что такого файла нет, но это невозможно, потому что я могу прочитать его с тем же URL-адресом.Умение писать/читать файл, но не удается удалить файл SWIFT

Reading:

let paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true) 
let path = NSURL(fileURLWithPath: paths[0] as String) 
let fullPath = path.appendingPathComponent(info["pi"] as! String) 

let data = NSData(contentsOf: fullPath!) 

Удаление:

let fileManager = FileManager.default 
fileManager.delegate = self 
let paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true) 
let path = NSURL(fileURLWithPath: paths[0] as String) 
let fullPath = path.appendingPathComponent(info["pi"] as! String) 

      do { 
       try fileManager.removeItem(atPath: "\(fullPath!)") 
      } catch { 
       print("\(error)") 
      } 

Он бросает:

Error Domain=NSCocoaErrorDomain Code=4 "“image_496251232.806566.jpg” couldn’t be removed." UserInfo={NSUnderlyingError=0x1758eb40 {Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory"}, NSFilePath=file:///var/mobile/Containers/Data/Application/269ADA58-6B09-4844-9FAA-AC2407C1D991/Documents/image_496251232.806566.jpg, NSUserStringVariant=(
    Remove 
)} 
+0

print fullPath pls –

+0

file: /// var/mobile/Контейнеры/Данные/Приложение/269ADA58-6B09-4844-9FAA-AC2407C1D991/Documents/image_496251232 .806566.jpg – Lenny1357

ответ

4

Ваш fullPath переменная является (по желанию) URL. Для того, чтобы преобразовать его в строку пути к файлу, используйте .path свойство, а не строки интерполяции:

fileManager.removeItem(atPath: fullPath!.path) 

Или лучше использовать URL напрямую, без преобразования его в пути:

fileManager.removeItem(at: fullPath!) 

(И избавиться принудительной разворачивания в пользу опциона связывания ... :-)

+0

Знаете ли вы, что цель c eq uivalent будет? – Matt

 Смежные вопросы

  • Нет связанных вопросов^_^