我有一个TableView和单独的TableViewCell(带.xib)。我正在尝试选择单击的单元格。如果我理解正确,我认为如果我让indexPath.row
能够从对象获取/读取数据,那对我的情况来说是好的。
我尝试了什么...
@IBOutlet var tableView1: UITableView!
...
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
// First tried this, but no luck. Nothing gets printed in console.
print(indexPath.row)
// Also, nothing in console
print(results?[indexPath.row])
// Then tried this, but no luck either.. nothing in console
let indexPath = tableView1.indexPathForSelectedRow!
let currentCell = tableView1.cellForRowAtIndexPath(indexPath) as! MyCustomTableViewCell
print(currentCell)
}
这是我在cellForRowAtIndexPath
..
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
self.tableView.registerNib(UINib(nibName: "MyCustomTableViewCell", bundle: nil),
forCellReuseIdentifier: "MyCustomTableViewCell")
let cell : DiscoverTableViewCell = tableView.dequeueReusableCellWithIdentifier("MyCustomTableViewCell") as! DiscoverTableViewCell
cell.photo = self.results?[indexPath.row]
return cell
两个试验都没有在控制台中返回任何内容。
我做错了什么?
答案 0 :(得分:1)
tableView1.allowsSelection = false
会阻止单元格选择,因此,您的didSelectRowAtIndexPath
永远不会被调用。
您必须设置tableView1.allowsSelection = true
并在cellForRowAtIndexPath
函数中将您的单元格selectionStyle
属性设置为UITableViewCellSelectionStyle.None
以获得结果。