2015-06-18 82 views
0

我已將該文件複製到項目中,並且我是新編寫的swift編譯器,但我認爲該文件將部署到項目中所有資源文件的設備上。這是我的代碼將無法找到該文件或從包找不到我的文件

if let dirs = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .AllDomainsMask, true) as ? [String] { 
     let dir = dirs[0] //documents directory 
     let path = dir.stringByAppendingPathComponent(file) 
     var checkValidation = NSFileManager.defaultManager() 

     if checkValidation.fileExistsAtPath(path) { 
     println("FILE AVAILABLE") 
     } else { 
     println("FILE NOT AVAILABLE") 
     // Copy the file from the Bundle and write it to the Device: 
     let pathToBundledDB = NSBundle.mainBundle().pathForResource("pcQuestionDBA", ofType: "txt") 
     var error: NSError ? 
     if NSFileManager.defaultManager().copyItemAtPath(pathToBundledDB!, toPath: dir, error: & error) { 

     } 

我知道我必須做一些根本性的錯誤和任何建議,將真正的讚賞複製 - 感謝

的更新: 我有將文件複製到項目文件夾中,但是,我刪除了該文件並嘗試重新複製該文件,並且收到錯誤消息,指出該文件已存在於該文件夾中。我想我已經試圖修復我的錯誤並找到該文件,將Xcode與我嘗試的多種移動和變體相混淆。我重新命名了文件並從頭開始,現在一切正常。非常感謝您的快速回復,它讓我最終得到了解決方案 - 歡呼聲

+0

你將它添加到適當的目標(S)?另外,你是否將其複製到文件夾中? – LinusGeffarth

回答

1

問題在於您應該將路徑傳遞給文件,但您已將路徑傳遞到目錄。

嘗試這樣的:

NSFileManager.defaultManager().copyItemAtPath(pathToBundledDB!, toPath: path, error: &error)