我尝试了这里发布的所有不同方法,并在每个方法上遇到了各种错误: https://codereview.stackexchange.com/questions/100773/load-text-file-into-an-array-in-swift (这些是最新的吗?)
最近,我尝试过:
func linesFromResourceForced(fileName: String) -> [String] {
let path = NSBundle.mainBundle().pathForResource(fileName, ofType: nil)!
let content = try! String(contentsOfFile: path, encoding: NSUTF8StringEncoding)
return content.componentsSeparatedByString("\n")
}
let lines = linesFromResourceForced("file.txt")
print (lines)
并且遇到了这些错误: “let lines =” - >无法将'String'类型的值转换为预期的参数类型'ViewController' print(lines) - >预期声明
我做错了什么? 我还要感谢有关导入和阅读文本的最简单方法的任何其他建议。谢谢!
答案 0 :(得分:0)
假设您要在iOS应用中加载文本文件中的行。
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let lines = linesFromResourceForced("file.txt")
print (lines)
}
func linesFromResourceForced(fileName: String) -> [String] {
let path = NSBundle.mainBundle().pathForResource(fileName, ofType: nil)!
let content = try! String(contentsOfFile: path, encoding: NSUTF8StringEncoding)
return content.componentsSeparatedByString("\n")
}
}
您需要在类中声明该函数,并在另一个函数的上下文中调用它。因此,当您的视图控制器加载viewDidLoad
时,它将调用linesFromResourceForced
来加载您的数组行并在该上下文中打印它们。
答案 1 :(得分:0)
已针对Swift 4+更新
let path = Bundle.main.path(forResource: "myfile.txt", ofType: nil)!
let myStringText = try String(contentsOfFile: path, encoding: String.Encoding.utf8)