【问题标题】:Last item in UITableView unreachable with textLabel.textUITableView 中的最后一项无法通过 textLabel.text 访问
【发布时间】:2011-08-07 04:20:49
【问题描述】:

我正在使用从互联网检索到的一组项目填充 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;

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

【问题讨论】:

    标签: iphone uitableview textlabel


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-28
      • 2012-01-15
      • 1970-01-01
      • 1970-01-01
      • 2012-09-10
      • 2020-09-21
      相关资源
      最近更新 更多