今天在tableview的- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath方法中点击cell的方法中写了弹出UIAlertController.结果出现了问题,第一次点击cell后弹出UIAlertController,按取消后,当再点击cell后,要等个1~2秒才弹出UIAlertController,如果连续点击二次cell,才会没有延迟的弹出UIAlertController.
解决方法:
在- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath方法的第一行加上
[tableView deselectRowAtIndexPath:indexPath animated:NO];
原因:个人猜测可能是 didSelectRowAtIndexPath在执行时,调用了其他的触摸事件导致UI刷新不过来,但是,在GDB里打印函数栈的时候,发现两者的调用情况是一样的。这是我很迷惑的地方,如果有大神看到,求大神指点!!!