gpt4 book ai didi

ios - 可扩展的 UITableView 动态

转载 作者:行者123 更新时间:2023-11-28 06:37:21 24 4
gpt4 key购买 nike

我正在使用 This Example用于动态扩展单元格。此示例显示如何使用数据模型扩展单元格。但我需要的是,当一个单元格点击时,它会获取要扩展的记录数。我试图做如下。但我无法实现我想要的。请有人帮我解决这个问题。

这就是我将示例数据动态添加到我的数据模型的方式。

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

DataModel.sampleDetails = ["Sample 1","sample 2","sample 3"]

//historyTable.beginUpdates()

switch expandedIndex {
case .None:
expandedIndex = NSIndexPath(forRow: indexPath.row + 1, inSection: indexPath.section)

case .Some(let index) where index.row == indexPath.row:
tableView.deselectRowAtIndexPath(indexPath, animated: false)

case .Some(let index) where index.row == indexPath.row + 1:
expandedIndex = nil
tableView.deselectRowAtIndexPath(indexPath, animated: false)

case .Some(let index) where index.row < indexPath.row:
expandedIndex = nil
self.tableView(tableView, didSelectRowAtIndexPath: NSIndexPath(forRow: max(0,indexPath.row - 1), inSection: indexPath.section))
default:
expandedIndex = nil
expandedIndex = NSIndexPath(forRow: indexPath.row + 1, inSection: indexPath.section)
}

//historyTable.endUpdates()
}

这就是我如何获取 tableview 的记录数

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

let sample = !(DataModel.sampleDetails.isEmpty) ? DataModel.sampleDetails.count : 0

return expandedIndex != nil ?
viewModel.count() + sample :
viewModel.count()
}

这只有在我像下面这样更改代码时才有效

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

let sample = !(DataModel.sampleDetails.isEmpty) ? DataModel.sampleDetails.count : 0

return expandedIndex != nil ?
viewModel.count() + 1 :
viewModel.count()
}

我不知道是什么问题。

请帮帮我

最佳答案

您已经在 didSelectRow 上设置了 dataModel.sampleDetails。

 DataModel.sampleDetails = ["Sample 1","sample 2","sample 3"]

但是

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { }

在您设置 DataModel.sampleDetails 之前被调用。所以你应该把那行放在 viewDidLoad() 上。这将解决您的问题

关于ios - 可扩展的 UITableView 动态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38847895/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com