领域结果<t>计数返回零

时间:2016-01-01 16:16:05

标签: ios swift count realm

我正在使用Realm'Patient'对象填充我的表格视图。要获得我的tableview应该有多少行/部分,我运行:

class PatientsTableViewController: RealmSearchViewController {

var dataSource : Results<Patient>!
var currentPatient : Patient!
...

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {

        return dataSource.count
}

我有此功能设置dataSource,我在viewDidLoad

中调用它
func reloadTable()
{
    do
    {
        let realm = try Realm()
        dataSource = realm.objects(Patient)
        tableView?.reloadData()
    }
    catch
    {

    }
}

我在另一个函数中使用currentPatient。但是,当我运行应用程序时,它崩溃并给我一个错误

  

致命错误:在解包可选值时意外发现nil

并指向

  

返回dataSource.count

我尝试用return dataSource!.count替换它,或者在viewDidLoad中创建一个对象(仅用于测试,我不想拥有我创建的任何对象)但错误仍然存​​在,我也尝试重置模拟器中的内容和设置,但没有好处。我该怎么办?

1 个答案:

答案 0 :(得分:0)

我通过在我的初始视图控制器中定义并初始化mainDataSource并将其通过prepareForSegue函数传递到下一个视图控制器的dataSource应用来修复它曾经崩溃。