У меня есть этот код:
func fileSize(url: String?)-> UInt64 {
let paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)
guard let fileUrl = URL(string: url!) else {
print("Problem in converting string to URL @@@@@@@@@@@ \(url)")
return 0
}
let directory = paths[0] + "/" + (fileUrl.path)
let fileManager = FileManager.default
do {
let attributes = try fileManager.attributesOfItem(atPath: (directory))
var fileSize = attributes[FileAttributeKey.size] as! UInt64
let dict = attributes as NSDictionary
fileSize = dict.fileSize()
return fileSize
}
catch let error as NSError {
print("Something went wrong: \(error)")
return 0
}
}
Эта функция должна удалять файлы из каталога Docs на мнемоническом устройстве.К сожалению, это не работает, и я каждый раз получаю сообщение об ошибке:
- Problem in converting string to URL @@@@@@@@@@@@@@ Optional ("en / GET_LEAFLETS_PDF / Leaflet new_OK-prev.pdf")
- Problem in converting string to URL @@@@@@@@@@@@@ Optional ("en / GET_TIPS_SLIDES / Golden video of frying ___ 006.jpg")
- Problem in converting string to URL @@@@@@@@@@@@@ Optional ("en / GET_TIPS_SLIDES / Spaces od love ___ 016.jpg")
etc
В чем ошибка?Кто-нибудь знает, как это исправить?
**** ОБНОВЛЕНИЕ ****
Это рабочий код:
func fileSize(url: String?)-> UInt64 {
let paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)
let pathsFile = paths[0] + "/" + url!
let fileUrl = URL(fileURLWithPath: pathsFile)
let fileManager = FileManager.default
do {
let attributes = try fileManager.attributesOfItem(atPath: (fileUrl.path))
var fileSize = attributes[FileAttributeKey.size] as! UInt64
let dict = attributes as NSDictionary
fileSize = dict.fileSize()
return fileSize
}
catch let error as NSError {
print("Something went wrong: \(error)")
return 0
}
}