xcode [UITableView _contentOffsetForScrollingToRowAtIndexPath:atScrollPosition:]

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/26647387/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-15 06:03:05  来源:igfitidea点击:

[UITableView _contentOffsetForScrollingToRowAtIndexPath:atScrollPosition:]

iosobjective-cxcodeuitableview

提问by vinoad vinu

I am using a tableview to display a message and i used the code below

我正在使用 tableview 来显示一条消息,我使用了下面的代码

UIView *chatView = [self bubbleView:[NSString stringWithFormat:@"%@", message] from:YES];

[self.chatArray addObject:[NSDictionary dictionaryWithObjectsAndKeys:message, @"text", @"self", @"speaker", chatView, @"view", nil]];
[self.chatTableView reloadData];

[self.chatTableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:[self.chatArray count]-1 inSection:0]
                                atScrollPosition: UITableViewScrollPositionBottom
                                animated:YES];

And i am getting the error given below

我收到下面给出的错误

[UITableView _contentOffsetForScrollingToRowAtIndexPath:atScrollPosition:]: row (0) beyond bounds (0) for section (0).'

plz help me in solving this

请帮我解决这个问题

回答by Abdul91

Seems to me that your table view does not have any rows or sections in yet. Two possibilities come to my mind.

在我看来,您的表格视图中还没有任何行或部分。我想到了两种可能性。

  1. Check your numberOfRowsInSectiondelegate and numberOfSectionsInTableViewso that they are not set to 0.
  2. Its possible that the tableviewhas not yet finished loading the data.
  1. 检查您的numberOfRowsInSection委托,numberOfSectionsInTableView确保它们未设置为 0。
  2. 可能tableview还没有完成加载数据。

Do share your findings, so I might be able to help out further if needed.

请分享您的发现,以便在需要时我可以进一步提供帮助。

回答by Alok

Make sure your table view is getting reloaded before scrolling. because after adding the data in the array, we need to reload the data to populate the TableView cell.

确保在滚动之前重新加载表格视图。因为在数组中添加数据后,我们需要重新加载数据以填充TableView单元格。

回答by Naval Hasan

I got this problem when my tableView delegate and dataSource was mapped to another view controller. Make sure you haven't done the same.

当我的 tableView 委托和数据源映射到另一个视图控制器时,我遇到了这个问题。确保你没有做过同样的事情。