在tableview中显示从数组到数组标签的数据

时间:2017-01-10 08:32:29

标签: ios swift uilabel tableview

我有字典 - index - number - index number of slide speed - number - transition duration (in ms). Optional runCallbacks - boolean - Set it to false (by default it is true) and transition will not produce onSlideChange callback functions. Optional ,我希望在单元格dictTime: [Int:[Int]]中显示它。

在每个单元格中显示键 - 不是问题,但我想在"拥有"中显示字典的每个元素。 tableView,所以我创建了UILabel,并了解数组中UILabel的计数必须与字典值中的元素数相等,但如何在[UILabel]中为每行显示(行 - 它的关键 - [值])?

3 个答案:

答案 0 :(得分:1)

假设您的词典类似于 [Int1:[Int2]] ,则表示:

  • dictTime.allKeys将为您提供所有Int1
  • 的数组
  • dictTime [Int1]会给你各自的[Int2]

示例:

var dictTime = [1:[1,2],2:[2,3],3:[3,4]]

用于在tableView中显示这些:

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return dictTime.count
    }

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

        let cell = tableView.dequeueReusableCellWithIdentifier("MyCell", forIndexPath: indexPath)
        let keys = Array (dictTime.keys)
        cell.textLabel?.text = String (keys[indexPath.row])
        cell.detailTextLabel?.text = String (dictTime[indexPath.row])

        return cell
    }

答案 1 :(得分:0)

我不确定我是否理解这个问题。如果要包含与字典条目一样多的行,请使用以下命令:

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return dictTime.count
}

如果您希望在单元格中包含尽可能多的标签,作为词典中每个键的条目,则需要实现复杂的解决方案。

我建议创建一个“超级单元格”,它具有最大数量的标签,将它们放在一个存根视图中,并根据条目数隐藏它们。

答案 2 :(得分:0)

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell调用其他函数并将字典值传递给该函数,例如[1,2,3]也将tbaleviewcell传递给该函数。现在,在该函数中,在您的字典数组[1,2,3]上逐个UILabel以编程方式运行tableviewcell