我创建了两个不同的单元格来显示其中的不同数据。我为它们分配了reuseIdentifier
("TableCell"
和"FixtureCell"
)。它们有两个不同的类,分别命名为FixtureTableViewCell
和LeagueTableViewCell
如果单元格标识符是"TableCell"
,我想这样做,显示TableCell
。
否则,如果单元格标识符为"FixtureCell"
,则显示FixtureCell
。
如何进行此控制?
我的代码如下。我只做了"TableCell"
。我不能为另一个做。
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tblLeagueTable.dequeueReusableCell(withIdentifier: "TableCell", for: indexPath) as! LeagueTableViewCell
let teams = tableArray[indexPath.row]
cell.lblLeagueTableTeam.text! = teams.teamName
cell.lblOwnGoal.text! = teams.ownGoal
cell.lblScoredGoal.text! = teams.scoredGoal
cell.lblLeagueTableTotalMatch.text! = teams.totalMatch
cell.lblTotalPoints.text! = teams.totalPoint
return cell
}
4条答案
按热度按时间rkue9o1l1#
根据以往的经验,基于IndexPath实现动态样式并不是一个好主意,我建议采用模型驱动的方案。
首先,定义一个模型,如下所示:
然后,创建一个模型数组:
最后,生成自定义单元格:
dfty9e192#
基于
indexPath
,您决定了要显示的合适单元格,因此您的代码应类似于:zzlelutf3#
我的单元实现了一个
CListTableViewCellProtocol
,其中只有一个config
:我已经将所有具体的内容封装在函数中,然后它就变得简单了:
CCellStyle
只是一个枚举:mzmfm0qo4#
试试这个:
请使用其他标识符作为表节。也可以使用 index.row。