Ios swift4:TableView setSelected函数在iPad上调用两次单击

Ios swift4:TableView setSelected函数在iPad上调用两次单击,ios,swift,uitableview,ipad,swift4,Ios,Swift,Uitableview,Ipad,Swift4,我是swift4新手,这是我的第一个表视图实现 我正在使用iPad开发应用程序,我无法解决表视图setSelected函数在单击时被调用两次,并且始终选择值等于true的问题 正如我在网上看到的那样,这种行为只在网上发生 那么这个问题的解决方法是什么呢 我的代码是: @IBOutlet weak var checkImage: UIImageView! var showing = false override func setSelected(_ selected: Bool, an

我是swift4新手,这是我的第一个表视图实现

我正在使用iPad开发应用程序,我无法解决表视图setSelected函数在单击时被调用两次,并且始终选择值等于true的问题

正如我在网上看到的那样,这种行为只在网上发生

那么这个问题的解决方法是什么呢

我的代码是:

@IBOutlet weak var checkImage: UIImageView!    
var showing = false

 override func setSelected(_ selected: Bool, animated: Bool) {

        super.setSelected(selected, animated: animated)
        if selected {
            if showing == false {
                checkImage.isHidden = false
                showing = true
            }
            else {
                checkImage.isHidden = true
                showing = false
            }
        }
    }
尝试在didSelectRow中使用取消Rowat:animated:

尝试在didSelectRow中使用取消Rowat:animated:


代码在哪里?在自定义UITableViewCell类中?如果您在setSelected中设置了一个Xcode断点,那么哪些函数调用setSelected?这些代码在哪里?在自定义UITableViewCell类中?如果在setSelected中设置Xcode断点,哪些函数调用setSelected?这是代替setSelected的函数或附加?这样你应该调用一次setSelected,这样你就可以另外使用它。这是代替setSelected的函数或附加?这样你应该调用一次setSelected,这样你就可以另外使用它。
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    tableView.deselectRow(at:indexPath animated:true)
}