swift:写入文件

时间:2016-02-08 15:12:00

标签: ios swift writetofile

今天另一个迅速的问题。我正在尝试将用户名和分数发布到文本文件以编译高分列表。我正在使用writeToFile()函数,并且没有错误,在我的断点中,正在到达行并执行OK但我仍然看不到我的score.txt文件中反映的更改。我应该提到score.txt包含在项目的构建路径中......不确定是否会改变任何东西,我想应该提一下。这是我的代码:

import Foundation
import UIKit

class victoryViewController : UIViewController
{
//  Define outputs
@IBOutlet weak var submitscorebtn: UIButton!

@IBOutlet weak var scorename: UITextField!

//  Define a string to hold the score value
var score = String()



//
//  Begin functions
//

override func viewDidLoad() {
    super.viewDidLoad()
    submitscorebtn.addTarget(self, action: "submitScore:", forControlEvents: UIControlEvents.TouchUpInside)
    print(score)

}

//Submit score to DB
func submitScore(sender: UIButton! )
{
    var text: String = scorename.text!
    text += ","
    text += score

    print(text)

    if let dir : NSString = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.AllDomainsMask, true).first {
        let path = dir.stringByAppendingPathComponent("scores.txt");

        //writing
        do {
            try text.writeToFile(path, atomically: false, encoding: NSUTF8StringEncoding)
        }
        catch {print("Error writing score.")}

    }
}



}

1 个答案:

答案 0 :(得分:1)

确保您正在查看正确的文件。

您在Xcode中查看的文件位于Mac上的项目目录中。 与模拟器或iOS设备写入的文件相同。

从Xcode中查找正确的文件有点复杂:打开“设备”视图,选择设备,选择应用程序,打开齿轮弹出窗口并选择“下载容器...”并将其保存在本地。然后,您可以检查下载容器中Documents文档目录的内容,并使用Xcode检查文件内容。