单元格非常简单,只是一个textLabel。我想点击单元格,然后打印一些单词。这是一个测试 。但是didSelectRowAtIndexPath不起作用。请告诉我原因,谢谢!
import UIKit
import SnapKit
class ListTableViewController : UITableViewController{
var itemData: ListTableModel!
var header: UIView!
override init(style: UITableViewStyle){
super.init(style: style)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func viewDidLoad() {
super.viewDidLoad()
itemData = ListTableModel()
self.tableView.dataSource = self
self.tableView.delegate = self
}
....
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("mCell", forIndexPath: indexPath)
cell.textLabel?.userInteractionEnabled = false
let listCell = cell as! ListTableViewCell
if let item = itemData.getItemData(indexPath.row) {
listCell.textLabel!.text = item.valueForKey("title") as? String
}
return cell
}
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
print("indexPathS")
}
}
答案 0 :(得分:2)
请检查single selection
是否未写入任何地方。在故事板中,检查选择标签下是否选中{{1}}。
答案 1 :(得分:0)
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
tableView.deselectRowAtIndexPath(indexPath, animated: true)
let text:NSString = myArray .objectAtIndex(indexPath.row) as! NSString
delegate?.myMethod(text as String)
self.navigationController?.popToRootViewControllerAnimated(true)
}
你可以试试这个。