今天在tableview的- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath方法中點(diǎn)擊cell的方法中寫了彈出UIAlertController.結(jié)果出現(xiàn)了問題,第一次點(diǎn)擊cell后彈出UIAlertController,按取消后,當(dāng)再點(diǎn)擊cell后斗蒋,要等個(gè)1~2秒才彈出UIAlertController,如果連續(xù)點(diǎn)擊二次cell,才會(huì)沒有延遲的彈出UIAlertController.
這是點(diǎn)擊cell的代碼
解決方法:
在- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath方法的第一行加上
[tableView deselectRowAtIndexPath:indexPath animated:NO];
原因:個(gè)人猜測(cè)可能是 didSelectRowAtIndexPath在執(zhí)行時(shí),調(diào)用了其他的觸摸事件導(dǎo)致UI刷新不過(guò)來(lái)颂斜,但是敌蜂,在GDB里打印函數(shù)棧的時(shí)候,發(fā)現(xiàn)兩者的調(diào)用情況是一樣的缺菌。這是我很迷惑的地方葫辐,如果有大神看到,求大神指點(diǎn)0橛簟9⒄健!