Ios 有关UITable视图的异常

Ios 有关UITable视图的异常,ios,objective-c,xcode4.3,uistoryboard,Ios,Objective C,Xcode4.3,Uistoryboard,我不熟悉目标C和iOS。我已经在情节提要的视图控制器上嵌入了导航控制器。然后,我将另一个视图控制器添加到情节提要中,即根视图控制器。它有一个按钮,该按钮连接到另一个视图控制器,该控制器添加了一个表视图。运行生成时,我会收到以下异常:“NSInvalidArgumentException”原因:“-[UIViewController tableView:numberOfRowsInSection::未识别的选择器发送到实例0x686d160”。以下是实现文件中的代码(仅限relaevant方法),

我不熟悉目标C和iOS。我已经在情节提要的视图控制器上嵌入了导航控制器。然后,我将另一个视图控制器添加到情节提要中,即根视图控制器。它有一个按钮,该按钮连接到另一个视图控制器,该控制器添加了一个表视图。运行生成时,我会收到以下异常:“NSInvalidArgumentException”原因:“-[UIViewController tableView:numberOfRowsInSection::未识别的选择器发送到实例0x686d160”。以下是实现文件中的代码(仅限relaevant方法),请告诉我是否需要提供更多代码:

     (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
   {
    return [contacts count];
   }


    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:      (NSIndexPath *)indexPath
    {
    static NSString *simpleTableIdentifier = @"RecipeCell";

    UITableViewCell *cell = [tableView   dequeueReusableCellWithIdentifier:simpleTableIdentifier];

    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
    }

    cell.textLabel.text = [contacts objectAtIndex:indexPath.row];
    return cell;
}

您正在向已解除分配的联系人变量发送“计数”消息。将对象分配给联系人时,通过发送保留消息确保其拥有该对象,或者在启用该对象时使用ARC等效项。

联系人数组是否有值?它清楚地显示您的
联系人
数组有一些无效值,如空值或空值。因此,请确保它不为null并具有某些值。您可以向nil对象发送消息,但不能向解除分配的对象发送消息。我不确定如何获得该错误。这意味着您的UIViewController不理解表视图委托消息tableView:numberOfRowsInSection:。我认为您应该显示此控制器中的所有代码,包括.h文件中的任何属性声明。@dolurs这些是数组中的值-(void)viewDidLoad{contacts=[NSArray arrayWithObjects:@“Egg Benedict”、@“蘑菇意大利饭”、@“Full Breaken”、@“Hamburger”@“火腿蛋三明治”、“奶油布雷利”、“白巧克力甜甜圈”、“星巴克咖啡”、“蔬菜咖喱”、“鸡蛋方便面”、“烧烤猪肉面”、“日本猪肉面”、“绿茶”、“泰国虾饼”、“愤怒的小鸟蛋糕”、“火腿奶酪帕尼尼”,无];[超级视频下载];}在这种情况下,正在为联系人分配一个数组的自动释放实例。请调用[contacts retain];出现错误:“retain”在自动引用计数中不可用,然后将您的联系人声明为强引用或使用[[NSArray alloc]init……]进行分配尝试这样做,
contacts=[NSArray alloc]init];
然后像前面那样为其赋值。