簡體   English   中英

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

[英]How do I save a NSTextField content in macOS Swift?

好的,所以我正在使用Xcode 7在Swift中處理這個OS X應用程序,我無法弄清楚如何保存字符串。 我想保存一個字符串,所以如果我在我的應用程序的文本字段中寫了一些東西,它將保存該字符串,如果我關閉我的應用程序並重新打開它,那個字符串仍然存在並將包含它在關閉之前的所有內容我的應用程序。

我希望我有道理。

您可以使用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")
    }
}

如果您只想保存簡單數據,例如幾個字符串,則可以使用NSUserDefaults。 在這里查看教程。

如果要保存復雜數據,則應使用Core Data。 一開始學習起來似乎比較困難,但您將在以后享受其便利性和性能。 在這里學習了核心數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM