2016-08-14 33 views
2

我有以下的代碼創建了一個名爲num.txt文本文件中的字符串數組的代碼是工作在遊樂場而不是在Xcode項目

import Foundation 
import UIKit 

func linesFromResource(fileName: String) throws -> [String] { 

    guard let path = NSBundle.mainBundle().pathForResource("num", ofType: "txt") else { 
     throw NSError(domain: NSCocoaErrorDomain, code: NSFileNoSuchFileError, userInfo: [ NSFilePathErrorKey : fileName ]) 
    } 
    let content = try String(contentsOfFile: path, encoding: NSUTF8StringEncoding) 
    return content.componentsSeparatedByString("\n") 
} 

let lines = try linesFromResource("num.txt") 
print(lines) 

一個文本文件中的字符串數組我的文件num.txt是位於操場

Playground

的資源文件夾並將其正常工作和做什麼打算,但是當我嘗試做同樣的事情在一個項目它給了我此錯誤消息:

Project

出於某種原因,在項目中的文件「num.txt」不能叫我試圖創建一個資源文件夾,並把該文件存在,但它也不能工作,我是什麼做錯了?

+0

你試過調試嗎? – dudeman

回答

2

請檢查num.txt文件是否在Copy Bundle Resources中添加,要檢查那裏去ProjectModule->Build Phases->Copy Bundle Resources。爲更多的想法檢查圖像。

enter image description here

+0

謝謝,遵循你的意見我把它放在那裏,我檢查,它在那裏,但我仍然得到相同的錯誤 –

+0

嘗試清理建立你的項目並刪除派生數據。 –

+0

我做了所有這些,去了派生的數據目錄並刪除了所有的東西,我也按了cmd + shit + k來清除它,但由於一些奇怪的原因,我仍然得到相同的錯誤,因爲文件沒有被讀取。 –

0

更改linesFromResource("num.txt")linesFromResource("num"),額外.txt是問題所在。

+0

謝謝,但我跟着你的意見,我仍然得到相同的問題 –

1

我解決了問題,由於某種原因,當我試圖編譯OSX複製一個命令行應用程序捆綁資源不工作,我試圖做它作爲iOS的單一視圖的應用程序和那麼它的工作。

我能夠使它作爲一個OSX命令行應用程序運行,並通過添加文件作爲複製文件而不是複製包資源,並通過選擇資源作爲目的地,我曾嘗試過,但並非沒有先刪除派生數據和乾淨的建築作爲NDoc建議,所以我想這兩件事情在一起做的伎倆。

Copy Files

相關問題