我在tableView中遇到自定义单元格问题。我正在做的是,我访问我的数据库,对于数据库中的每一行,我将填充一个单元格。问题是,它只为每个单元格反复打印最后一行;然后,我尝试使用过滤器(通过ID),但它只打印每个单元格的第一行。 我提前感谢你的帮助。我的代码如下
public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int{
var x = Int()
do{
let count = try conn.db!.scalar(tblPersona.count)
x = count
}
catch{
}
return x
}
public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell{
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! consultaInformacionTableViewCell
var res = Int64 (1)
do{
let query = tblPersona.filter(id == res)
for custom in try conn.db!.prepare(query){
print(custom[nombre]!)
cell.nombreLabel.text = custom[nombre]!
cell.emailLabel.text = custom[email]!
res = res + 1
}
}
catch{
}
return cell
}
当我打印"自定义[nombre]!"每次完成一个循环时,它会打印所有行。
答案 0 :(得分:0)
您的过滤条件似乎不正确。
tblPersona.filter(id == res)
比较首先解决。所以,你实际上在说:
tblPersona.filter(true)
似乎“真实”正在返回每个条目。但是,在不知道您正在使用的过滤器类型的情况下,我无法提供一个有效的示例。