我试图在表格视图中隐藏特定的单元格?
private var yourDataSource = [AccountData.AllTasksDB] //A Json Array originally
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat
{
var rowHeight:CGFloat = 72
//AccountData.AllTasksDB[indexPath.row]["importantvariable"]
if (self.yourDataSource[indexPath.row]["importantvarible"] == "0")
{
print("Cell is mine")
rowHeight = 0
}
else
{
print("Cell is not mine")
rowHeight = 72.0
}
return rowHeight
}
谁能告诉我自己做错了什么?我以为它是循环遍历每个单元格并检查我手头设置的值。但它似乎并不想访问它。
答案 0 :(得分:0)
您正在使用tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath)
方法访问单元格。
此时,细胞尚未可见(或出列)。如果单元格不可见,它将为零,因此您的错误。
尝试在let cell = tableView.cellForRowAtIndexPath(indexPath) as! TableViewCellMyTasks
处设置一个断点,你会发现它是零。
答案 1 :(得分:0)
我认为这在答案中会更清晰
fileprivate var yourDataSource = [YourObject]()
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
if self.yourDataSource[indexPath].isMine == true {
return 0
}
else
{
return 72.0 //or whatever you like
}
}