领域结果不自动更新

时间:2016-05-17 22:12:28

标签: swift realm

我有两个型号 - 卡片和频道 - 一个频道拥有卡片

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代码对我来说仍然正常(捕获所有通知并手动刷新我的结果),但是在我回滚之前想看看是否有人有任何指针。 提前谢谢。

0 个答案:

没有答案