将 NSMutableArray 加载到 iPhone 的表视图中时无法识别的选择器

Posted

技术标签:

【中文标题】将 NSMutableArray 加载到 iPhone 的表视图中时无法识别的选择器【英文标题】:Unrecognized selector when loading NSMutableArray into a table view in iPhone 【发布时间】:2011-03-17 08:04:49 【问题描述】:

当我尝试将数组内容放入表格视图时出现此错误:

2011-03-17 15:54:13.142 FullApp[6851:207] -[NSCFString objectAtIndex:]:无法识别的选择器发送到实例 0x5903860

2011-03-17 15:54:13.143 FullApp[6851:207] * 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[NSCFString objectAtIndex:]:发送了无法识别的选择器到实例 0x5903860'

这是我的代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) 
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];


// Configure the cell.
FullAppAppDelegate *fullapp = (FullAppAppDelegate *)[[UIApplication sharedApplication]delegate];

NSString *cellValue = [[fullapp.soapResults objectAtIndex:0] objectAtIndex:indexPath.row];

cell.textLabel.text = cellValue;

这是我的数组内容:

2011-03-17 16:00:29.976 FullApp[6898:207] (
"Everyday.com.my",
"Mydeals.com.my"
)

【问题讨论】:

【参考方案1】:

[fullapp.soapResults objectAtIndex:0] 是“Everyday.com.my”。您正在调用此字符串的 objectAtIndex:indexPath.row。

【讨论】:

【参考方案2】:

fullapp.soapResults 可能是 NSString 或 [fullapp.soapResults objectAtIndex:0] 可能是 NSString

【讨论】:

【参考方案3】:

请检查fullapp.soapResults。它可能在 appDelegate 中声明为 NSString。尝试将其设为NSArray

【讨论】:

以上是关于将 NSMutableArray 加载到 iPhone 的表视图中时无法识别的选择器的主要内容,如果未能解决你的问题,请参考以下文章

如何将特定 NSMutableArray 中的数据重新加载到 UITableView

将 NSMutableArray 加载到 iPhone 的表视图中时无法识别的选择器

将当前位置的距离添加到 NSMutableArray

如何将一个数组的tableview数据重新加载到另一个数组?

将 NSMutableArray 保存到磁盘

从 URL 将对象添加到 NSMutableArray 的更快方法