1

请帮助我弄清楚发生了什么魔法。我拥有的是一个带有自定义单元格的 tableView。我不需要处理长时间的点击,但是当一个发生时程序崩溃并显示消息:

异常“NSInvalidArgumentException”,原因:“-[__NSCFType gestureRecognizerShouldBegin:]:无法识别的选择器发送到实例 0xa0836a0”

我在这里发现了类似的问题Crash while long press on the tableview,但该解决方案对我没有帮助。实际上,当我尝试添加自己的长手势识别器时,不会调用我的处理程序函数。只是一次又一次令人讨厌的错误。

更准确地说我在这里做什么:在

  • (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

在返回单元格之前,我有以下几行:

UILongPressGestureRecognizer *longPressGesture = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleLongPress)];

[单元格 addGestureRecognizer:longPressGesture];

-(void)handleLongPress

几乎从来没有被叫过。即使是这样,在成功几次之后,错误再次发生。

还有一次:我不需要以任何方式处理长手势,我只是希望它不会导致我的应用程序崩溃。关键是我没有做任何特别的事情。我创建了一个类

@interface NewsViewController: UITableViewController <UISplitViewControllerDelegate, UITableViewDataSource, UITableViewDelegate>

现在我正在尝试向单元格添加自定义子视图。一切都很好,直到我注意到这个小问题。

顺便说一句,当我评论该行时它消失了

[单元格添加子视图:myCustomCell.view];

但这不是我想要的。顺便说一句,我的表不应该是可编辑的,所以我也有

  • (BOOL) tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { return NO; }

当我允许编辑时,它什么都没有改变。长按-> 崩溃。和同样的信息。

我的自定义单元格的属性可能有问题,但我不知道到底是什么。另一个事实:我的表格是基于 Master-Detail 的应用程序中的详细视图。

感谢您的任何建议和关注!

4

0 回答 0