如何在macOS Swift中保存NSTextField内容?

时间:2016-02-01 02:23:25

标签: xcode swift macos

好的,所以我使用Xcode 7在Swift中使用这个OS X应用程序,我无法弄清楚如何保存字符串。我想保存一个字符串,所以如果我在我的应用程序的文本字段中写了一些东西,它将保存该字符串,如果我关闭我的应用程序并重新打开它,那个字符串仍然存在并将包含它在关闭之前的所有内容我的申请。

我希望我有道理。

2 个答案:

答案 0 :(得分:2)

您可以使用NSUseDefaults使您的字段在启动时保持不变。只需按住Ctrl键单击您的文本字段并添加一个IBAction,当用户结束编辑文本字段时将调用该IBAction。只需保存文本字段(sender)stringValue,将一个IBOutlet也连接到您的文本字段,并使用NSUserDefaults stringForKey方法将您的字符串加载到viewDidLoad方法中:

import Cocoa

class ViewController: NSViewController {
    @IBOutlet var textField: NSTextField!
    override func viewDidLoad() {
        super.viewDidLoad()
        textField.stringValue = NSUserDefaults().stringForKey("textFieldKey") ?? "default value"
    }
    override var representedObject: AnyObject? {
        didSet {
        }
    }
    @IBAction func textFieldAction(sender: NSTextField) {
        NSUserDefaults().setObject(sender.stringValue, forKey: "textFieldKey")
    }
}

答案 1 :(得分:1)

如果您只想保存简单数据,例如几个字符串,则可以使用NSUserDefaults。查看教程here

如果要保存复杂数据,则应使用Core Data。一开始学习起来似乎比较困难,但您将在以后享受其便利性和性能。我学习了核心数据here