【发布时间】:2018-11-13 00:31:01
【问题描述】:
这就是我一直在发疯的问题。我有一个使用 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 = """
}
【问题讨论】:
-
什么是
publisherName?您在哪里将文本值设置为publisherTitle? -
这是一个错字对不起,该项目已被编辑,仍然产生相同的结果。
-
theData = Pub() 是否返回任何结果?
-
所以你试图在
publisherName文本字段上显示保存的Pub对象pubName属性,如果用户更改了值,请将更改后的值保存到领域? -
是的,大卫