初始化一个空的Results <t>变量

时间:2016-12-02 17:42:59

标签: ios swift variables initialization realm

我有一个名为Task的Realm对象。我在表格视图中显示这些任务。我有一个变量decalred来保存这些对象。

var tasks: Results<Task>!

首次启动时,我从API获取这些任务。直到本地领域为空。但是当UITableViewController加载时,它会触发数据源方法。此时,tasks变量仍然可以为零。因此应用程序在numberOfRowsInSection等方法崩溃了。

如何初始化上述变量以使其处于空状态并且不会导致崩溃?

2 个答案:

答案 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")
}