【发布时间】:2015-11-23 15:27:41
【问题描述】:
我想打电话给didSelectRowAtIndexPath(),但是当我处于编辑模式时,该事件不会被触发。这是我的代码:
override func viewDidLoad() {
tableView.delegate = self
tableView.dataSource = self
}
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
self.tableView.deselectRowAtIndexPath(indexPath, animated:true)
let data = fetchedResultsController.objectAtIndexPath(indexPath) as! NSManagedObject
...
}
@IBAction func updateButtonClicked(sender: AnyObject) {
toggleEditing()
}
func toggleEditing() {
if self.editing {
super.setEditing(false, animated: true)
self.title = "Sicherung"
} else {
super.setEditing(true, animated: true)
let cancelBarButton = UIBarButtonItem(title: "Fertig", style: .Plain, target: self, action: "stopEdit:")
navigationItem.rightBarButtonItem = cancelBarButton
navigationItem.hidesBackButton = true
self.title = "Sicherung bearbeiten"
}
}
func stopEdit(sender: AnyObject) {
super.setEditing(false, animated: true)
let cancelBarButton = UIBarButtonItem(title: "Bearbeiten", style: .Plain, target: self, action: "toggleEditing")
navigationItem.rightBarButtonItem = cancelBarButton
navigationItem.hidesBackButton = false
}
didSelectRowAtIndexPath() 仅在 self.editing == false 时被调用。
我做错了什么?
【问题讨论】:
-
From the docs: "当表格的编辑属性设置为YES(即表格视图处于编辑模式)时,不会调用此方法"
-
upps,不要看到这个!有什么解决方法吗?
标签: ios xcode swift uitableview didselectrowatindexpath