所以这就是我一直在疯狂的问题。我有一个使用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 = """
}
感谢Mrkrisher on Discord,这里是关于如何将最后保存的textViews和textFields从Realm显示到viewDidLoad的答案
override func viewDidLoad() {
super.viewDidLoad()
publisherName.stringValue = (pubData?.last?.pubName)?? ""
}