-[__NSArrayI 长度]:无法识别的选择器发送到实例 0x7f1e9f90

Posted

技术标签:

【中文标题】-[__NSArrayI 长度]:无法识别的选择器发送到实例 0x7f1e9f90【英文标题】:-[__NSArrayI length]: unrecognized selector sent to instance 0x7f1e9f90 【发布时间】:2014-12-08 10:08:21 【问题描述】:

伙计们,我有一个 array6,其中包含来自 web 服务的数据。 输出:-NSLog(@"%@",[array6 description]);

(
        (
        "Thu 8, Jan",
        "Thu 8, Jan"

    )
)

我有一个自定义表格视图“availPassengerTableViewCell”..

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

    static NSString *simpleTableIdentifier = @"SimpleTableCell";

    availPassengerTableViewCell *cell = (availPassengerTableViewCell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
    if (cell == nil)
    
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"availPassengerTableViewCell" owner:self options:nil];
        cell = [nib objectAtIndex:0];
    
   cell.phoneLbl.text = [array3 objectAtIndex:indexPath.row]; //here it showing above error..

    return cell;

【问题讨论】:

array6array3 的内容是什么? NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"availPassengerTableViewCell" owner:self options:nil];作为右手语句的结果,您如何期望数组。 对不起,是 array6 而不是 array3..正确的是 cell.phoneLbl.text = [array6 objectAtIndex:indexPath.row]; array3array6?数组名称应该是有意义的,这将在您拥有代码网络时对您有所帮助。 【参考方案1】:

从 NSLog 看来,您的数组中包含另一个数组,并且该数组内部包含您要在 tableview 中显示的元素。

所以改变:

 cell.phoneLbl.text = [array6 objectAtIndex:indexPath.row];

到:

 cell.phoneLbl.text = array6[0][indexPath.row];

【讨论】:

很好的解决方案,但它只显示数组 6 的第一个元素..我进入数组 6 的响应,它可能是可变的......例如array6 可以是(("Thu 8, Jan", "Thu 9, Jan", "Thu 6, Jan")) @AbhishekNagar:检查您的 numberOfRowsInSection 实施 return[array6 count]; @AbhishekNagar:将其更改为 return [array6[0] count];【参考方案2】:

噩梦就是这条线,cell.phoneLbl.text = [array6 objectAtIndex:indexPath.row];

您很高兴显示来自array6 的一些字符串,但不幸的是在特定索引路径(行)处没有字符串对象。取而代之的是一个NSArray 对象。

请确保这些,

    更新您的回复(从您获得的任何地方)。

    根据响应更正您的代码。

    使代码尽可能简单。

【讨论】:

以上是关于-[__NSArrayI 长度]:无法识别的选择器发送到实例 0x7f1e9f90的主要内容,如果未能解决你的问题,请参考以下文章

颤振flutter_webview_plugin错误[NSNull长度]:无法识别的选择器发送到ios上的实例

使用 MyAppDelegate 时无法识别的选择器

NSMutableArray addObject,无法识别的选择器

UITableViewController 无法识别的选择器发送到实例

无法识别的选择器...错误IOS [关闭]

无法识别的选择器 - 保存到核心数据