0

我正在使用从互联网检索到的一组项目填充 UITableView。

有问题的代码从来自互联网的数组填充的列表中选择一个项目,然后根据所选项目将请求发送回不同的 php 脚本-> sql 表等。我遇到的问题是整个列表填充正确,但是当使用列表/表格视图中的最后一项时,array.textLabel.text 显然.. 不存在。一切都很好,但是最后一个项目(不管我在数组中有多少项目,最后一个只是没有......保留或其他东西)并且它什么也没选择。

然后在发送第二个请求时,它给了我一个越界错误,因为最后一个项目不存在并且它说我试图拉一些不存在的东西。

* 由于未捕获的异常“NSRangeException”而终止应用程序,原因:“* -[NSArray objectAtIndex:]: index 1 beyond bounds [0 .. 0]”

这就是它制作用于填充的数组的方式:

NSArray *listItems = [parsedOutput componentsSeparatedByString:@","];
restList = [[NSArray alloc] initWithArray:listItems];

行数基于 [restList count];等等,并调用我使用的文本:

restName = [tableView cellForRowAtIndexPath:indexPath];
sendName = restName.textLabel.text;

知道为什么最后一个元素似乎不存在,即使它的列表和可选?

4

1 回答 1

0

该错误准确地告诉您正在发生的事情。您正在尝试访问数组边界之外的索引。因此,要么您访问了错误的数组,要么您访问的 1 超出了数组的实际末尾。尝试在出现错误的行之前对数组进行 NSLog 记录,看看它是否确实包含正确的元素以及您尝试访问的输出 index.row ,记住数组是零索引的。

于 2011-04-17T07:56:46.807 回答