调用didSelectRowIndexPathRow时禁用用户交互

时间:2014-09-03 14:52:25

标签: ios objective-c multithreading

因此,当用户选择一行时,出于性能原因,我将选择放在另一个线程上。当我从主线程中取出它时,取消选择该行几秒钟并将其推送到下一个视图。取消选择该行并从主线程中删除的那几秒钟,用户可以选择再次快速单击该行,并再次强制应用程序崩溃。所以我的问题是如何取消选择didSelectRowAtIndexPath方法内表行的用户交互?现在,请确认我不想在选择一行之前禁用用户交互。我只是想在选择行后禁用单元格上的用户交互。谢谢!

1 个答案:

答案 0 :(得分:0)

制作实例变量NSIndexPath selectedPath;

添加

[[self.tableView cellForRowAtIndexPath:indexPath] setUserInteractionEnabled:NO];
selectedPath = indexPath;

到你的didSelectRowAtIndexPath和performSegueWithIdentifier(假设你使用的是故事板)添加

[[self.tableView cellForRowAtIndexPath:self.selectedPath] setUserInteractionEnabled:YES];