我希望创建一个视图控制器,让用户可以搜索设备,然后在点击搜索按钮后,我希望填充下面的表格视图。问题是当视图控制器被加载时,tableview正在加载,并且由于用户尚未搜索任何内容,因此应用程序崩溃,因为表中没有填充任何数据。我希望在用户单击搜索按钮之前不加载tableview。
到目前为止,我有以下内容:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = self.tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! CustomTableViewCell
cell.deviceName.text = deviceArray[indexPath.row]
return cell
}
如果用户先点击搜索按钮,我怎么才能加载?
答案 0 :(得分:1)
我认为你应该在func中检查你的数据源
deviceArray
您应该在viewDidLoad
中初始化deviceArray = [];
。
deviceArray
如果您没有搜索,count = 0
将function getZodiac(e) {
e.preventDefault();
e.stopPropagation();
// the rest of your logic
}
,以便不再加载单元格
答案 1 :(得分:0)
在界面构建器中,不要将tableView.dataSource
链接为self
,然后在搜索按钮的操作中,在搜索逻辑后使用此代码
self.tableView.dataSource = self
self.tableView.reloadData()
我希望这能帮到你,最好的问候