I have a simple ticked off list in Realm, where I am using NotificationToken
to check for updates in the datasource and hereafter updates the tableView with the following items:
class Item : Object {
dynamic var name = ""
dynamic var isTickedOff = false
dynamic var timeStamp : Date?
}
The model:
var items: Results<Item> {
get {
let results = self.realm.objects(Item.self)
let alphabetic = SortDescriptor(property: "name", ascending: true)
let tickedOff = SortDescriptor(property: "isTickedOff", ascending: true)
let timestamp = SortDescriptor(property: "timeStamp", ascending: false)
return results.sorted(by: [tickedOff, timestamp, alphabetic]).filter("isTickedOff = %@ || isTickedOff = %@", false, self.includeAll)
}
}
I have a switch in my tableview, where the user can change the self.includeAll
property.
When inserting, deleting items or selecting them (resulting in setting them to isTickedOff
or !isTickedOff
) triggers the notification and updates the tableView. However, changing the self.includeAll
property does not trigger the notification even though the items
property is modified. I could include self.tableView.reloadData()
when the user triggers the switch, but I would like the more smooth animations through the notification.
Is it me, who understands notifications wrong or is it a bug?
Thanks in advance!