我有一个名为Task
的Realm对象。我在表格视图中显示这些任务。我有一个变量decalred来保存这些对象。
var tasks: Results<Task>!
首次启动时,我从API获取这些任务。直到本地领域为空。但是当UITableViewController
加载时,它会触发数据源方法。此时,tasks
变量仍然可以为零。因此应用程序在numberOfRowsInSection
等方法崩溃了。
如何初始化上述变量以使其处于空状态并且不会导致崩溃?
答案 0 :(得分:1)
不要接受它。 你是导致崩溃的人,假设因此应用程序在
等方法崩溃tasks
nil
不是numberOfSections
,实际上它可以。检查tasks
以查看nil
是否 myRef.orderByChild("age").equalTo("20").addListenerForSingleValueEvent(...
作业。如果是,请返回0,这样就不会被问到任何其他问题。
答案 1 :(得分:0)
以下代码将演示如何初始化一个空的Results对象的方法。
class TaskManager {
private var _realm: Realm?
var realm: Realm {
if _realm == nil {
_realm = try! Realm()
}
return _realm!
}
var tasks: Results<Task> = realm.objects(Task.self).filter("FALSEPREDICATE")
}