尝试从UITableView返回选定的单元格,但它只返回nil

时间:2015-06-25 19:53:12

标签: ios swift uitableview cocoa-touch

我有一个自定义单元类,它有一个名为setCell的函数。

这需要一个单词和一个图像,并为它们设置标签和图像视图。

工作正常,在单元格设置期间调用。

问题是当我尝试获取当前选定的单元格文本时,它只返回nil。

以下是当前' didSelectRow'功能:

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


    let indexPath = myTableView.indexPathForSelectedRow();

    let currentCell = myTableView.cellForRowAtIndexPath(indexPath!) as UITableViewCell!;

    println(currentCell.textLabel!.text) //This returns nil
}

Bellow是我的自定义单元格设置功能:

func setCell(text: String, imagetext: String) {
    if var image = self.myImage {
        image.image = UIImage(named: imagetext)
    }

    if var label = self.myLabel {
        label.text = text
        println(label.text) //Prints out the items that are in the cells, which is what I want it to do.
    }
}

有谁知道为什么我的代码返回nil?

编辑:感谢您到目前为止的建议,但我发现如果我在调用cell.labelText.text函数后打印出setCell,它就会打印出来。

cell.setCell(category, imagetext: theimage)
    println(cell.textLabel!.text) //I have 7 items in the list so it just print out nil 7 times.

为什么在调用函数后没有设置?

1 个答案:

答案 0 :(得分:0)

indexPath和tableView作为参数传入,应该用于执行您尝试执行的操作:

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    var currentCell = tableView.cellForRowAtIndexPath(indexPath!) as CustomTableViewCellClass!;

    println(currentCell.textLabel!.text) //This returns nil
}