发送到实例

时间:2016-04-25 10:38:37

标签: ios objective-c xcode

我收到上述错误并且不知道为什么,因为我在另一个示例中实现了相同的代码。 “services”是我的NSMutableArray,“service name”是带有Tag 2的表视图上的标签。在viewdidload中,我用对象填充服务数组。

-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSString *cellIdentifier = @"servicesCell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
    UILabel *servicesName;
    UILabel *nrofService;
    if(tableView == self.servicetable)
    {
        servicesName = (UILabel*) [cell viewWithTag:2];
        servicesName.text = [[services objectAtIndex:0] objectAtIndex:indexPath.row];            
    }
    return cell;
}

1 个答案:

答案 0 :(得分:2)

问题出在以下一行:

servicesName.text = [[services objectAtIndex:0] objectAtIndex:indexPath.row];

检查[services objectAtIndex:0]正在返回NSString而不是NSArrayNSMutableArray。因此,您在objectAtIndex:indexPath.row上调用NSString会导致异常:

  

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

所以设置你的UILabel文本如下:

servicesName.text = [services objectAtIndex:indexPath.row];