小编Dan*_*aze的帖子

如何从Swift 3(XCode 8)中的文本文件中读取数据

首先,我想从目前的情况开始:

1)现状:

我有一个文本文件(data.rtf)我也尝试过并且愿意使用.plist或任何其他格式来获得结果.

我一直在尝试从此文件中读取任何数据,并在Label上显示该数据.

我已经尝试预先填充文件,在读取之前保存到文件中,甚至只检查文件是否存在,但每次尝试都失败了.

在3天内,我搜索了各种指令和教程,了解如何做通常相当简单的功能.我已经使用Objective-C做了它,但我是Swift的新手,不幸的是我不得不用它进行评估而且我被卡住了.

2)障碍:

到目前为止,我所看到的每个例子都被XCode拒绝为错误的,因为使用了不再被接受的术语,如:

let path = (NSTemporaryDirectory() as NSString).stringByAppendingPathComponent("image.png")
Run Code Online (Sandbox Code Playgroud)

或者平坦的线条根本不起作用:

let client = arrayClients[0]
    DisplayLabel.text = "\(client.ob("FirstName")!) \(client.objectForKey("LastName")!)"
    //DisplayLabel.text = client.  <- this part doesn't work
Run Code Online (Sandbox Code Playgroud)

每个案例都以过时的代码结束工作,或者在将其更新为建议仍然有效的替换后过于屠杀.我获得代码甚至构建(删除语法错误)的唯一情况是逻辑错误,其中结果为空或者崩溃,最常见的是:

"NSCocoaErrorDomain Code = 260"无法打开文件"data.rtf",因为没有这样的文件.""没有这样的文件或目录"

我认为,即使该文件存在于我的XCode项目中,它仍在iPhone模拟器中进行搜索,并且由于某种原因它在那里不存在.这只是一个理论,我不知道如何解决这个问题.我在使用Objective-C做同样的事情时从未遇到过这个问题,如果我创建了一个文件和路径,它可以工作,但对于Swift,它只是拒绝

3)守则:

在这一点上,我对一个有效的代码更感兴趣,而不是一个不能修复的代码,因为我试图解决这个问题(以及其他与XCode更新相关的问题)已经变得如此拙劣,以至于它几乎不适合为了目的,即使我绕过这个障碍,但如果它有所帮助,我会提供"一些"我尝试的不同尝试

//"找不到文件代码":

let path = (NSTemporaryDirectory() as NSString).appendingPathComponent("data.rtf")

    do {
        // Get the contents
        let contents = try NSString(contentsOfFile: path, encoding: String.Encoding.utf8.rawValue)
        print(contents)
        DisplayLabel.text = contents as String?
    }
    catch let error as NSError {
        print("Ooops! let path = (NSTemp... did not …
Run Code Online (Sandbox Code Playgroud)

readfile swift xcode8

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

readfile ×1

swift ×1

xcode8 ×1