Просматривая многие (многие!) быстрые вопросы на детской площадке, чтобы обработать этот код, я все еще боюсь.
Я поместил текстовый файл в папку Resources
содержимого пакета, и он отображается как псевдоним (ссылка) в текущих файлах temp, созданных игровой площадкой (/var/folders/ ...
).
import UIKit
let bundle = NSBundle.mainBundle()
let myFilePath = bundle.pathForResource("dict1", ofType: "txt")
println(myFilePath) // <-- this is correct, there is a shortcut to the Resource file at this location
var error:NSError?
var content = String(contentsOfFile:myFilePath!, encoding:NSUTF8StringEncoding, error: &error)
println(content!) // <-- this is *NOT* the file contents [EDIT: see later note]
// Demonstrate there no error
if let theError = error {
print("\(theError.localizedDescription)")
} else {
print("No error")
}
Проблема заключается в том, что content
отображается на выходе игровой площадки как Some "apple\ngame\nhow\nswift\ntoken"
, а не на содержимое файла, как ожидалось.
Он находит файл, потому что, если я изменю имя файла, это ошибки. Любые советы по получению содержимого файла?
Xcode 6.1
EDIT:
Итак, фактическая проблема заключалась в том, что я не ожидал выхода игровой площадки (в том числе, println
). Это, в сочетании с усталостью и другими глупостями, заставило меня поверить, что была проблема, когда никого не было.
Интересно, что на детской площадке не все ускользает:
println("foo\nbar") // Outputs "foo\nbar", escaped
println("\\n") // Outputs "\n", unescaped