点击识别器调用其操作方法时崩溃

时间:2017-03-14 19:43:29

标签: ios uitableview uigesturerecognizer uitapgesturerecognizer

在我的应用中,我在viewWillAppear: tableView添加了一个手势识别器:

self.tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGestureTap:)];
self.tapGestureRecognizer.delegate = self;
self.postView.commentsTableView.userInteractionEnabled = YES;
[self.postView.commentsTableView addGestureRecognizer:self.tapGestureRecognizer];

在大多数情况下,点击表格视图可以正常工作,并调用

- (void)tapGestureTap:(UITapGestureRecognizer *)gestureRecognizer {
    if (gestureRecognizer.state == UIGestureRecognizerStateEnded) {
    …
}

然而,在极少数情况下,应用程序崩溃。崩溃日志:
enter image description here在我看来崩溃发生在tapGestureTap:中的if语句执行之前。 但我不知道正在访问哪个数组,也不知道为什么应该访问索引0处的对象不存在 任何想法可能出错或如何捕获错误都是非常受欢迎的!

编辑(由于下面的请求):

cellForRow方法:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    CommentCellTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:POST_COMMENTS_TABLEVIEWCELL forIndexPath:indexPath];
    Comment  *comment = self.commentsViewModel.comments[indexPath.row];
    NSString *text = comment.comment;
    User *belongsToUser = comment.belongsToUser;

    // Make age string
    NSDate *updatedAt = comment.updatedAt;
    NSAttributedString *age = [NSDate makeAgeString:updatedAt color:[UIColor grayColor]];

    [cell setUserName:belongsToUser.username comment:text age:age];

    NSURL *thumbnailURL = [NSURL URLWithString:belongsToUser.thumbnail];
    [cell.userImageView setImageWithURL:thumbnailURL];

    return cell;
}

0 个答案:

没有答案