PS:自打使用了self-manager的设计模式.跳转控制器变得方便多了.
某天.更新Xcode之后发现一个BUG.就是点击Cell之后方法执行两遍.WTF?
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated];
// Configure the view for the selected state
//初始化为未选中状态
if (selected == YES) {
//做一些选中后的改变
}
}
}
下面介绍一个最简单的方法…那就是把判断移到setHighLighted里面
- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated {
[super setHighlighted:highlighted animated:animated];
//初始化为未选中状态
if (highlighted == YES) {
//做一些选中后的改变
}
}
}
不管selected调用几次,反正highlighted只会调用一次.在这里面判断肯定没两次调用的BUG.
PS:也可以自定义一个属性来记录.
最好的解决方法还是使用UITableView的点击代理didSelectRowAtIndexPath