Ios 领域结果<;T>;计数返回零
我正在用领域“Patient”对象填充我的表视图。要获取tableview应有多少行/节,请运行:Ios 领域结果<;T>;计数返回零,ios,swift,count,realm,Ios,Swift,Count,Realm,我正在用领域“Patient”对象填充我的表视图。要获取tableview应有多少行/节,请运行: class PatientsTableViewController: RealmSearchViewController { var dataSource : Results<Patient>! var currentPatient : Patient! ... override func numberOfSectionsInTableView(tableView: UITable
class PatientsTableViewController: RealmSearchViewController {
var dataSource : Results<Patient>!
var currentPatient : Patient!
...
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return dataSource.count
}
我在另一个函数中使用currentPatient
。但是,当我运行应用程序时,它崩溃并给我一个错误
致命错误:在展开可选值时意外发现nil
并指向
返回dataSource.count
我尝试用
returndatasource!替换它!。count
,或者在viewdiload
中创建一个对象(只是为了测试,我不想创建任何对象),但错误仍然存在,我还尝试在模拟器中重置内容和设置,但效果不佳。我该怎么做?我通过在我的初始视图控制器中定义并初始化一个mainDataSource
,并通过prepareForSegue
函数将其传递到下一个视图控制器的数据源
中,应用程序在那里崩溃。文件范围中的数据源
设置在哪里,我将编辑未定义的问题集。你给它分配了什么?@luk2302对不起,我不知道为什么我忘了提到它。根据您的问题的答案编辑的问题在哪里调用了方法reloadTable
?可能tableView会在视图显示过程开始时重新查询其数据-在某个点,您的reloadTable
尚未调用,因此dataSource
仍然为零。
func reloadTable()
{
do
{
let realm = try Realm()
dataSource = realm.objects(Patient)
tableView?.reloadData()
}
catch
{
}
}