我有一个按钮,其发件人会在发生后观察通知并更改其标题。在开火之前,按钮标题是“A”。点火后,按钮标题为“B”。
我正在尝试在Realm中保存更改后的状态,以便用户可以看到该按钮已被更改。
发布(触发)通知发生在添加UIView的另一个按钮操作中。该子视图拥有帖子通知:
NotificationCenter.default.post(name: fireNotification, object: nil)
当帖子被触发时,另一个add(观察者)通知会对此事件起作用:
// MARK: - Observe Notification
NotificationCenter.default.addObserver(forName: fireNotification, object: nil, queue: nil) { notification in
print("Notification Observed")
sender.setTitle("B", for: .normal)
sender.setTitleColor(.red, for: .normal)
sender.isEnabled = false
}
这显然会将按钮状态更改为B.如何编写并将其保存到我的领域?我试过了:
// MARK: - Observe Notification
NotificationCenter.default.addObserver(forName: fireNotification, object: nil, queue: nil) { notification in
print("Notification Observed")
let realm = try! Realm()
try! realm.write {
sender.setTitle("B", for: .normal)
sender.setTitleColor(.red, for: .normal)
sender.isEnabled = false
}
}
我应该在对象参数中添加一些内容吗?
答案 0 :(得分:0)
为了能够在Realm中保存数据,您需要创建自己的RealmObject
子类并定义它的属性。您无法保存非RealmObjects
的状态。
请查看文档以了解有关Realm的更多信息:https://realm.io/docs/swift/latest/