如何比较Realm Swift中的两个值

时间:2017-01-23 11:14:40

标签: swift realm

我有一个名为Realm的{​​{1}}数据库。我只有在有新消息时才会下载新消息(分别在NewsCount更改时)。我将与数据解析进行比较。但我无法正确比较它们。你如何比较它们?

myImage

这是我的代码

newsCount

2 个答案:

答案 0 :(得分:0)

因为Realm使用RealmOptional来使用Int值,所以你必须调用RealmOptional的值属性

尝试更改此内容:

for i in category {
        array.append(i.newsCount.value)
    }

答案 1 :(得分:0)

首先,使用Int(string)代替as! Int强制转换将JSON数据转换为整数可能更合适。

从它的外观来看,jsonnewes是一个充满JSON数据的字典,但你将其作为array[jsonnewes as! Int]中的数组索引进行转换(给定array是一个数组而不是字典)不应该工作。

相反,为了确保您明确检索所需的项目,我建议您使用Realm's primary key query method来检索所需的项目。

let realm = try! Realm()

for newsItem in jsonNews {
    let newsPrimaryKey = Int(newsItem)
    let realmNews = realm.object(ofType: NewsCount.self, forPrimaryKey: newsPrimaryKey)

    // Don't continue if a Realm object couldn't be found
    guard let realmNews = realmNews else {
        continue
    }    

    // Perform comparison
    if Int(newsItem["count"]) > realmNews.newsCount {
        // Perform the update
    }
}