在我的应用中,我在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) {
…
}
然而,在极少数情况下,应用程序崩溃。崩溃日志:
在我看来崩溃发生在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;
}