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

Xcode 如何在macOS Swift中保存NSTextField内容?,xcode,swift,macos,Xcode,Swift,Macos,好的,我正在用Swift和Xcode 7开发这个OSX应用程序,我不知道如何保存字符串。我想保存一个字符串,因此,如果我在应用程序的文本字段中写入内容,它将保存该字符串,如果我关闭应用程序并重新打开该字符串,该字符串将仍然存在,并将包含关闭应用程序之前的所有内容 我希望我说的有道理。如果您只想保存简单的数据,例如一些字符串,您可以使用NSUserDefaults。查看教程 如果你想保存复杂的数据,你应该使用核心数据。一开始似乎很难学习,但以后你会享受到它的便利和性能。我学习了核心数据。您可以使用

好的,我正在用Swift和Xcode 7开发这个OSX应用程序,我不知道如何保存字符串。我想保存一个字符串,因此,如果我在应用程序的文本字段中写入内容,它将保存该字符串,如果我关闭应用程序并重新打开该字符串,该字符串将仍然存在,并将包含关闭应用程序之前的所有内容


我希望我说的有道理。

如果您只想保存简单的数据,例如一些字符串,您可以使用NSUserDefaults。查看教程


如果你想保存复杂的数据,你应该使用核心数据。一开始似乎很难学习,但以后你会享受到它的便利和性能。我学习了核心数据。

您可以使用NSUseDefaults使您的字段在发布过程中保持不变。只需按住ctrl键并单击文本字段,然后向其中添加iAction,当用户结束编辑文本字段时将调用该iAction。只需将文本字段(发件人)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")
    }
}
试试看。”这是一个快速的教程。