我有两个型号 - 卡片和频道 - 一个频道拥有卡片
class Card : Object {
let channel = LinkingObjects(fromType: Channel.self, property: "cards")
}
class Channel: Object {
let cards = List<Card>()
}
在我的UICollectionViewController中,我使用它作为我的结果:
var results: Results<Card> = {
let realm = try! Realm()
return realm.objects(Card).filter("ANY channel.is_following = true")
.filter("ANY channel.live = true")
.filter("published == true AND retracted == false").sorted("published_at", ascending: false)
}()
和我在viewDidLoad中设置的通知块:
notificationToken = results.addNotificationBlock { [weak self] (changes: RealmCollectionChange) in
print("in notif block")
}
我正在尝试使用新的RealmCollectionChange功能,但是当我对通道进行写入/更改时,它不会反映在我的卡片结果中,这会触发通知块。它在首次启动/初始化时显示正确的内容,但在此之后无法跟上更改。我的pre-RealmCollectionChange代码对我来说仍然正常(捕获所有通知并手动刷新我的结果),但是在我回滚之前想看看是否有人有任何指针。 提前谢谢。