我有一个tableView
,我希望根据变量seguedDisplayMonth
的设置显示不同的单元格。这是可能的,如果是这样,我可以得到任何关于如何做到这一点的提示吗?我尝试了以下但是它似乎没有效果。
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Income Cell", forIndexPath: indexPath)
let income = myIncomeArray[indexPath.row]
if seguedDisplayMonth == "All" {
var text = "\(income.money) kr"
cell.textLabel?.text = text
cell.detailTextLabel?.text = income.name
}
return cell
}
我还想过,我可能需要在更改seguedDisplayMonth
之后重新加载数据,而tableView
会从不同的segue
和DROP DATABASE `123`
更改。
答案 0 :(得分:0)
更改mcTableSwag.reloadData()
后致电seguedDisplayMonth
。 (可能在实际更改seguedDisplayMonth
的函数中调用它。
或者您可以使用reloadVisibleCellsAtIndexPath(...)
之类的方法重新加载certian单元格(我不确定它的名称是什么,但它应该在Apple UITableView文档中。
答案 1 :(得分:0)
我终于设法解决了这个问题。我将解释我是如何做到这一点的,因为任何人遇到同样的问题。
我实施了另一个array
myVisibleIncomeArray
。
在viewDidLoad()
中,我拨打function
,执行以下操作:
for inc in myIncomeArray {
if self.monthLabel.text == "All" {
self.myVisibleIncomeArray.append(inc)
totalSum += inc.money
print("Added to myVisible")
}
}
然后我reloadData()
并使用myVisibleIncomeArray作为其他函数。
不确定它是否是最明智的解决方案,但它仍然是一个修复程序。