存储在UITextField上的领域数据为空,print(条目)有效

时间:2016-07-17 20:37:57

标签: ios swift tableview realm

我有一个Realm数据库,我在其中存储我的条目。存储&查询工作没有任何问题。我在Swift Realm中知道结果是懒惰但我无法理解为什么会发生这种情况。 我的代码:

newsItems = databaseHelper.retriveAllNews()
//[...] this is on tableView method
let currentNew = newsItems[indexPath.row]
print(currentNew)
newsCell.newsTitle.text = currentNew.title
newsCell.newsText.text = currentNew.info

print(..)语句完美无缺,我将所有信息存储在currentNew对象中,但是当我将信息设置为UITextField newsCell.newsTitle& newsCell.newsText它们显示为空,因为尚未加载结果。
有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您遇到问题的最可能原因是从模型类中的属性声明中省略了dynamic修饰符。 dynamic修饰符是确保Realm有机会拦截对属性的访问权限所必需的,这使得Realm有机会从磁盘上的文件读取/写入数据。省略这些属性会导致Swift编译器直接访问实例变量,从而将Realm从循环中删除。