Swift TableViewCell数组

时间:2016-05-21 03:35:21

标签: ios arrays swift uitableview tableview

我的情况:我想在第1节中索引X的行X中保存数据。

我的代码是:

config/initializers/chat_app.rb

我的问题是只传递了Array SetObjectToPass的第一个索引并设置为# This file will start and establish an initial connection to the chat app `chat-app --some-arg` # <== The chat app

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return 1
}

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

override func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
    return "Section \(section)"
}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    var cellEmpty = tableView.dequeueReusableCellWithIdentifier("LabelCell")
    var countCell = 0


    while countCell < setObjectToPass.count {
        let indexPaths = NSIndexPath(forRow: countCell, inSection: 0)
        let cell = tableView.dequeueReusableCellWithIdentifier( "LabelCell", forIndexPath: indexPaths)

        cell.textLabel!.text = String(setObjectToPass[countCell])
        print(cell)
        countCell+=1
        return cell
    }

2 个答案:

答案 0 :(得分:1)

您正在错误地实施tableView(_:cellForRowAtIndexPath:indexPath:)方法。

请记住,UITableViewDelegate中的每个委托方法就像问你一个问题。例如,numberOfSectionsInTableView(_:)就像问你“你在桌子视图中想要多少个部分?”。您可以通过返回值来回答问题。

tableView(_:cellForRowAtIndexPath:indexPath:)类似。它也提出了一个问题。它询问“我应该在这个索引路径的表行中显示什么?”

在您的代码中,您似乎想要提供多个答案 - 循环遍历数组并尝试多次返回。但它不起作用,你只能给出一个答案。

while循环的第一次迭代中,执行命中return并停止。这就是为什么你只能看到第一个表格单元格。

因此,您应该更改代码,以便只提供问题的一个答案:

let cell = tableView.dequeueReusableCellWithIdentifier("LabalCell")
cell.textLabel?.text = String(setObjectsToPass[indexPath.row])
return cell

答案 1 :(得分:0)

不要在gem install debug_inspector -v '0.0.2'委托方法中使用循环。 cellForRowAtIndexPath方法根据cellForRowAtIndexPath个计数行调用每一行,只需使用numberOfRowsInSection,使用此代码,

indexpath.row

希望它有用