TextField不会从RealmSwift加载

问题描述 投票:0回答:1

所以这就是我一直在疯狂的问题。我有一个使用Realm作为其数据库的应用程序。我过去使用Realm和tableviews一起工作,它可以正常工作。我似乎无法获取我保存的textField数据加载到viewDidLoad的视图中。使用tableViews有一个reloadData方法,但textFields不是这种情况。我需要将数据库中的数据加载到viewDidLoad上的视图中,并且我已经多次确认数据已经保存并且正在等待加载到视图中的数据库中,但它不会加载。

import Cocoa
import RealmSwift

class PublisherViewController: NSViewController {

    @IBOutlet weak var publisherName: NSTextField!    

    let realm = try! Realm()
    var pubData : Results<Pub>?

    override func viewDidLoad() {
        super.viewDidLoad()

        // Here is where textField.stringValues should load into the viewDidLoad
        let theData = Pub()
        theData.pubName = publisherName.stringValue
        print("print \(theData)")
    }

    func save(pubData: Pub) {
        do {
            try realm.write {
                realm.add(pubData)
            }
        } catch {
            print("there was an error saving pubData \(error)")
        }
    }

    @IBAction func savePublisher(_ sender: NSButton) {
        let publisherData = Pub()
        publisherData.pubName = publisherName.stringValue
        save(pubData: publisherData)
    }
}

这是我的数据模型

import Foundation
import RealmSwift

class Pub: Object {
    @objc dynamic var pubName : String = """
}
swift macos cocoa realm
1个回答
0
投票

感谢Mrkrisher on Discord,这里是关于如何将最后保存的textViews和textFields从Realm显示到viewDidLoad的答案

override func viewDidLoad() {
        super.viewDidLoad()
    publisherName.stringValue = (pubData?.last?.pubName)?? ""
    }
© www.soinside.com 2019 - 2024. All rights reserved.