2015-12-17 2 views
0

У меня есть файл в моем приложении, который я хранил динамически, используя NSFileManager. когда я перебрать все файлы, которые я могу увидеть полный путь к файлу:Преобразование файла NSFileManager в Swift в NSURL

let fileManager:NSFileManager = NSFileManager.defaultManager() 
for(var i:Int = 0; i < count; i++){ 
    if fileManager.fileExistsAtPath(fileList[i]) != true { 
     print("File path: \(fileList[i])") 
    } 
} 

я получаю правильный путь, и в этом случае: /var/mobile/Containers/Data/Application/123321ABF/Documents/myFile.zip

Все хорошо, пока здесь. Но потом я хотел бы загрузить его на FTP-сервер, и для этого мне нужно включить путь в NSURL, но это не работает, как будто он не может найти файл. Я пробовал:

let url = NSURL(string: fileList[i]) 

и

let url = NSURL(fileURLWithPath: fileList[i], isDirectory: false) 

, но я получаю ту же ошибку:

Error Domain=NSCocoaErrorDomain Code=2 "(null)" 

ответ

0

Попробуйте следующий код:

let documentsURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0] 

let files = NSFileManager.defaultManager().enumeratorAtURL(documentsURL, includingPropertiesForKeys: nil, options: [], errorHandler: nil) 
    while let file = files?.nextObject() { 
     print("***") 
     let modFile = file as! NSURL 
     print("FILE: \(modFile)") 
     print("***") 
    } 

Если я понял, что вы ошибаетесь, не стесняйтесь меня исправить! С уважением, Алекс

0

Simple answer is below

let URL: NSURL = NSURL(string: stringofURL)! //replace stringofURL to Path 

Example

// just a string 
var stringUrl = "/var/mobile/Containers/Data/Application/123321ABF/Documents/myFile.zip" 
// convert path to NSURL 

    let URL: NSURL = NSURL(string: stringUrl)! 

    print (URL) // print url 
Смежные вопросы