我有一个名为Realm
的{{1}}数据库。我只有在有新消息时才会下载新消息(分别在NewsCount
更改时)。我将与数据解析进行比较。但我无法正确比较它们。你如何比较它们?
这是我的代码
newsCount
答案 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
}
}