Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 这段代码中有什么错误导致崩溃?_Iphone_Uitableview_Custom Cell - Fatal编程技术网

Iphone 这段代码中有什么错误导致崩溃?

Iphone 这段代码中有什么错误导致崩溃?,iphone,uitableview,custom-cell,Iphone,Uitableview,Custom Cell,我使用的是表格视图,其中我用自定义单元格显示了10行表格,用普通单元格显示了一行表格。我已经使用了这个代码 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier=@"Cell"; UITableViewCell *cell = [tableView dequ

我使用的是表格视图,其中我用自定义单元格显示了10行表格,用普通单元格显示了一行表格。我已经使用了这个代码

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


    static NSString *CellIdentifier=@"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (indexPath.row == [listofBusiness count]) {

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

    cell.textLabel.text= @"Show more...";
    //cell = self.tvcell;
    return cell;

}

else if(indexPath.row==[appDelegate.busines_Aray count])
{

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

    return cell;

}

if(customCell == nil) {
    [[NSBundle mainBundle] loadNibNamed:@"Place_cell" owner:self options:nil];
}


// Configure the cell...


    cell.backgroundColor=[UIColor colorWithRed:0.92 green:0.92 blue:0.92 alpha:1];
    cell.accessoryType = UITableViewCellAccessoryNone;
    cell.selectionStyle=UITableViewCellSelectionStyleNone;
    BusinessData *business_datas = [appDelegate.busines_Aray objectAtIndex:indexPath.row];  
    UITextField *tmptxt;
    tmptxt = (UITextField *)[cell viewWithTag:1];
    tmptxt.backgroundColor=[UIColor clearColor];
    tmptxt.text = [NSString stringWithFormat:@"%@",business_datas.name_business ];
    tmptxt = (UITextField *)[cell viewWithTag:2];
    tmptxt.text = [NSString stringWithFormat:@"%@", business_datas.cat_business];   
    tmptxt = (UITextField *)[cell viewWithTag:3];
    tmptxt.backgroundColor=[UIColor clearColor];
    tmptxt.text = [NSString stringWithFormat:@"%d",business_datas.noofreview];

    if(business_datas.avg_rating ==0.0)
    {
        CGRect myImage1 =CGRectMake(190,5,20,22);
        UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:myImage1];
        [imageView1 setImage:[UIImage imageNamed:@"emStar.png"]];
        [cell addSubview:imageView1];
        [imageView1 release]; 
        CGRect myImage2 =CGRectMake(210,5,20,22);
        UIImageView *imageView2 = [[UIImageView alloc] initWithFrame:myImage2];
        [imageView2 setImage:[UIImage imageNamed:@"emStar.png"]];
        [cell addSubview:imageView2];
        [imageView2 release]; 
        CGRect myImage3 =CGRectMake(230,5,20,22);
        UIImageView *imageView3 = [[UIImageView alloc] initWithFrame:myImage3];
        [imageView3 setImage:[UIImage imageNamed:@"emStar.png"]];
        [cell addSubview:imageView3];
        [imageView3 release]; 
        CGRect myImage4 =CGRectMake(250,5   ,20,22);
        UIImageView *imageView4 = [[UIImageView alloc] initWithFrame:myImage4];
        [imageView4 setImage:[UIImage imageNamed:@"emStar.png"]];
        [cell addSubview:imageView4];
        [imageView4 release]; 
        CGRect myImage5 =CGRectMake(270,5,20,22);
        UIImageView *imageView5 = [[UIImageView alloc] initWithFrame:myImage5];
        [imageView5 setImage:[UIImage imageNamed:@"emStar.png"]];
        [cell addSubview:imageView5];
        [imageView5 release]; 

    }
    else if(business_datas.avg_rating ==0.5)
    {
        CGRect myImage1 =CGRectMake(190,5,20,22);
        UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:myImage1];
        [imageView1 setImage:[UIImage imageNamed:@"Black-Half.png"]];
        [cell addSubview:imageView1];
        [imageView1 release]; 
        CGRect myImage2 =CGRectMake(210,5,20,22);
        UIImageView *imageView2 = [[UIImageView alloc] initWithFrame:myImage2];
        [imageView2 setImage:[UIImage imageNamed:@"emStar.png"]];
        [cell addSubview:imageView2];
        [imageView2 release]; 
        CGRect myImage3 =CGRectMake(230,5,20,22);
        UIImageView *imageView3 = [[UIImageView alloc] initWithFrame:myImage3];
        [imageView3 setImage:[UIImage imageNamed:@"emStar.png"]];
        [cell addSubview:imageView3];
        [imageView3 release]; 
        CGRect myImage4 =CGRectMake(250,5,20,22);
        UIImageView *imageView4 = [[UIImageView alloc] initWithFrame:myImage4];
        [imageView4 setImage:[UIImage imageNamed:@"emStar.png"]];
        [cell addSubview:imageView4];
        [imageView4 release]; 
        CGRect myImage5 =CGRectMake(270,5,20,22);
        UIImageView *imageView5 = [[UIImageView alloc] initWithFrame:myImage5];
        [imageView5 setImage:[UIImage imageNamed:@"emStar.png"]];
        [cell addSubview:imageView5];
        [imageView5 release]; 

    }
    else if(business_datas.avg_rating ==1.0)
    {
        CGRect myImage1 =CGRectMake(190,5,20,22);
        UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:myImage1];
        [imageView1 setImage:[UIImage imageNamed:@"star.png"]];
        [cell addSubview:imageView1];
        [imageView1 release]; 
        CGRect myImage2 =CGRectMake(210,5,20,22);
        UIImageView *imageView2 = [[UIImageView alloc] initWithFrame:myImage2];
        [imageView2 setImage:[UIImage imageNamed:@"emStar.png"]];
        [cell addSubview:imageView2];
        [imageView2 release]; 
        CGRect myImage3 =CGRectMake(230,5,20,22);
        UIImageView *imageView3 = [[UIImageView alloc] initWithFrame:myImage3];
        [imageView3 setImage:[UIImage imageNamed:@"emStar.png"]];
        [cell addSubview:imageView3];
        [imageView3 release]; 
        CGRect myImage4 =CGRectMake(250,5,20,22);
        UIImageView *imageView4 = [[UIImageView alloc] initWithFrame:myImage4];
        [imageView4 setImage:[UIImage imageNamed:@"emStar.png"]];
        [cell addSubview:imageView4];
        [imageView4 release]; 
        CGRect myImage5 =CGRectMake(270,5,20,22);
        UIImageView *imageView5 = [[UIImageView alloc] initWithFrame:myImage5];
        [imageView5 setImage:[UIImage imageNamed:@"emStar.png"]];
        [cell addSubview:imageView5];
        [imageView5 release]; 

    }
    else if(business_datas.avg_rating ==1.5)
    {
        CGRect myImage1 =CGRectMake(190,5,20,22);
        UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:myImage1];
        [imageView1 setImage:[UIImage imageNamed:@"star.png"]];
        [cell addSubview:imageView1];
        [imageView1 release]; 
        CGRect myImage2 =CGRectMake(210,5,20,22);
        UIImageView *imageView2 = [[UIImageView alloc] initWithFrame:myImage2];
        [imageView2 setImage:[UIImage imageNamed:@"Black-Half.png"]];
        [cell addSubview:imageView2];
        [imageView2 release]; 
        CGRect myImage3 =CGRectMake(230,5,20,22);
        UIImageView *imageView3 = [[UIImageView alloc] initWithFrame:myImage3];
        [imageView3 setImage:[UIImage imageNamed:@"emStar.png"]];
        [cell addSubview:imageView3];
        [imageView3 release];       
        CGRect myImage4 =CGRectMake(250,5,20,22);
        UIImageView *imageView4 = [[UIImageView alloc] initWithFrame:myImage4];
        [imageView4 setImage:[UIImage imageNamed:@"emStar.png"]];
        [cell addSubview:imageView4];
        [imageView4 release]; 
        CGRect myImage5 =CGRectMake(270,5,20,22);
        UIImageView *imageView5 = [[UIImageView alloc] initWithFrame:myImage5];
        [imageView5 setImage:[UIImage imageNamed:@"emStar.png"]];
        [cell addSubview:imageView5];
        [imageView5 release]; 
    }

    else if(business_datas.avg_rating ==2.0)
    {
    CGRect myImage1 =CGRectMake(190,5,20,22);
    UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:myImage1];
    [imageView1 setImage:[UIImage imageNamed:@"star.png"]];
    [cell addSubview:imageView1];
    [imageView1 release]; 
    CGRect myImage2 =CGRectMake(210,5,20,22);
    UIImageView *imageView2 = [[UIImageView alloc] initWithFrame:myImage2];
    [imageView2 setImage:[UIImage imageNamed:@"star.png"]];
    [cell addSubview:imageView2];
    [imageView2 release]; 
    CGRect myImage3 =CGRectMake(230,5,20,22);
    UIImageView *imageView3 = [[UIImageView alloc] initWithFrame:myImage3];
    [imageView3 setImage:[UIImage imageNamed:@"emStar.png"]];
    [cell addSubview:imageView3];
    [imageView3 release]; 
    CGRect myImage4 =CGRectMake(250,5,20,22);
    UIImageView *imageView4 = [[UIImageView alloc] initWithFrame:myImage4];
    [imageView4 setImage:[UIImage imageNamed:@"emStar.png"]];
    [cell addSubview:imageView4];
    [imageView4 release]; 
    CGRect myImage5 =CGRectMake(270,5,20,22);
    UIImageView *imageView5 = [[UIImageView alloc] initWithFrame:myImage5];
    [imageView5 setImage:[UIImage imageNamed:@"emStar.png"]];
    [cell addSubview:imageView5];
    [imageView5 release]; 
}
else if(business_datas.avg_rating ==2.5)
{
    CGRect myImage1 =CGRectMake(190,5,20,22);
    UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:myImage1];
    [imageView1 setImage:[UIImage imageNamed:@"star.png"]];
    [cell addSubview:imageView1];
    [imageView1 release]; 
    CGRect myImage2 =CGRectMake(210,5,20,22);
    UIImageView *imageView2 = [[UIImageView alloc] initWithFrame:myImage2];
    [imageView2 setImage:[UIImage imageNamed:@"star.png"]];
    [cell addSubview:imageView2];
    [imageView2 release]; 
    CGRect myImage3 =CGRectMake(230,5,20,22);
    UIImageView *imageView3 = [[UIImageView alloc] initWithFrame:myImage3];
    [imageView3 setImage:[UIImage imageNamed:@"Black-Half.png"]];
    [cell addSubview:imageView3];
    [imageView3 release]; 
    CGRect myImage4 =CGRectMake(250,5,20,22);
    UIImageView *imageView4 = [[UIImageView alloc] initWithFrame:myImage4];
    [imageView4 setImage:[UIImage imageNamed:@"emStar.png"]];
    [cell addSubview:imageView4];
    [imageView4 release]; 
    CGRect myImage5 =CGRectMake(270,5,20,22);
    UIImageView *imageView5 = [[UIImageView alloc] initWithFrame:myImage5];
    [imageView5 setImage:[UIImage imageNamed:@"emStar.png"]];
    [cell addSubview:imageView5];
    [imageView5 release]; 

}

else if(business_datas.avg_rating ==3.0)
{
    CGRect myImage1 =CGRectMake(190,5,20,22);
    UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:myImage1];
    [imageView1 setImage:[UIImage imageNamed:@"star.png"]];
    [cell addSubview:imageView1];
    [imageView1 release]; 
    CGRect myImage2 =CGRectMake(210,5,20,22);
    UIImageView *imageView2 = [[UIImageView alloc] initWithFrame:myImage2];
    [imageView2 setImage:[UIImage imageNamed:@"star.png"]];
    [cell addSubview:imageView2];
    [imageView2 release]; 
    CGRect myImage3 =CGRectMake(230,5,20,22);
    UIImageView *imageView3 = [[UIImageView alloc] initWithFrame:myImage3];
    [imageView3 setImage:[UIImage imageNamed:@"star.png"]];
    [cell addSubview:imageView3];
    [imageView3 release]; 
    CGRect myImage4 =CGRectMake(250,5   ,20,22);
    UIImageView *imageView4 = [[UIImageView alloc] initWithFrame:myImage4];
    [imageView4 setImage:[UIImage imageNamed:@"emStar.png"]];
    [cell addSubview:imageView4];
    [imageView4 release]; 
    CGRect myImage5 =CGRectMake(270,5,20,22);
    UIImageView *imageView5 = [[UIImageView alloc] initWithFrame:myImage5];
    [imageView5 setImage:[UIImage imageNamed:@"emStar.png"]];
    [cell addSubview:imageView5];
    [imageView5 release]; 

}
else if(business_datas.avg_rating ==3.5)
{
    CGRect myImage1 =CGRectMake(190,5,20,22);
    UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:myImage1];
    [imageView1 setImage:[UIImage imageNamed:@"star.png"]];
    [cell addSubview:imageView1];
    [imageView1 release]; 
    CGRect myImage2 =CGRectMake(210,5,20,22);
    UIImageView *imageView2 = [[UIImageView alloc] initWithFrame:myImage2];
    [imageView2 setImage:[UIImage imageNamed:@"star.png"]];
    [cell addSubview:imageView2];
    [imageView2 release]; 
    CGRect myImage3 =CGRectMake(230,5,20,22);
    UIImageView *imageView3 = [[UIImageView alloc] initWithFrame:myImage3];
    [imageView3 setImage:[UIImage imageNamed:@"star.png"]];
    [cell addSubview:imageView3];
    [imageView3 release]; 
    CGRect myImage4 =CGRectMake(250,5,20,22);
    UIImageView *imageView4 = [[UIImageView alloc] initWithFrame:myImage4];
    [imageView4 setImage:[UIImage imageNamed:@"Black-Half.png"]];
    [cell addSubview:imageView4];
    [imageView4 release]; 
    CGRect myImage5 =CGRectMake(270,5,20,22);
    UIImageView *imageView5 = [[UIImageView alloc] initWithFrame:myImage5];
    [imageView5 setImage:[UIImage imageNamed:@"emStar.png"]];
    [cell addSubview:imageView5];
    [imageView5 release]; 

}
else if(business_datas.avg_rating ==4.0)
{
    CGRect myImage1 =CGRectMake(190,5,20,22);
    UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:myImage1];
    [imageView1 setImage:[UIImage imageNamed:@"star.png"]];
    [cell addSubview:imageView1];
    [imageView1 release]; 
    CGRect myImage2 =CGRectMake(210,5,20,22);
    UIImageView *imageView2 = [[UIImageView alloc] initWithFrame:myImage2];
    [imageView2 setImage:[UIImage imageNamed:@"star.png"]];
    [cell addSubview:imageView2];
    [imageView2 release]; 
    CGRect myImage3 =CGRectMake(230,5,20,22);
    UIImageView *imageView3 = [[UIImageView alloc] initWithFrame:myImage3];
    [imageView3 setImage:[UIImage imageNamed:@"star.png"]];
    [cell addSubview:imageView3];
    [imageView3 release]; 
    CGRect myImage4 =CGRectMake(250,5,20,22);
    UIImageView *imageView4 = [[UIImageView alloc] initWithFrame:myImage4];
    [imageView4 setImage:[UIImage imageNamed:@"star.png"]];
    [cell addSubview:imageView4];
    [imageView4 release]; 
    CGRect myImage5 =CGRectMake(270,5,20,22);
    UIImageView *imageView5 = [[UIImageView alloc] initWithFrame:myImage5];
    [imageView5 setImage:[UIImage imageNamed:@"emStar.png"]];
    [cell addSubview:imageView5];
    [imageView5 release]; 

}
else if(business_datas.avg_rating ==4.5)
{
    CGRect myImage1 =CGRectMake(190,5,20,22);
    UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:myImage1];
    [imageView1 setImage:[UIImage imageNamed:@"star.png"]];
    [cell addSubview:imageView1];
    [imageView1 release]; 
    CGRect myImage2 =CGRectMake(210,5,20,22);
    UIImageView *imageView2 = [[UIImageView alloc] initWithFrame:myImage2];
    [imageView2 setImage:[UIImage imageNamed:@"star.png"]];
    [cell addSubview:imageView2];
    [imageView2 release]; 
    CGRect myImage3 =CGRectMake(230,5,20,22);
    UIImageView *imageView3 = [[UIImageView alloc] initWithFrame:myImage3];
    [imageView3 setImage:[UIImage imageNamed:@"star.png"]];
    [cell addSubview:imageView3];
    [imageView3 release];       
    CGRect myImage4 =CGRectMake(250,5,20,22);
    UIImageView *imageView4 = [[UIImageView alloc] initWithFrame:myImage4];
    [imageView4 setImage:[UIImage imageNamed:@"star.png"]];
    [cell addSubview:imageView4];
    [imageView4 release]; 
    CGRect myImage5 =CGRectMake(270,5,20,22);
    UIImageView *imageView5 = [[UIImageView alloc] initWithFrame:myImage5];
    [imageView5 setImage:[UIImage imageNamed:@"Black-Half.png"]];
    [cell addSubview:imageView5];
    [imageView5 release]; 
}

else //if(business_datas.avg_rating ==5.0)
{
    CGRect myImage1 =CGRectMake(190,5,20,22);
    UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:myImage1];
    [imageView1 setImage:[UIImage imageNamed:@"star.png"]];
    [cell addSubview:imageView1];
    [imageView1 release]; 
    CGRect myImage2 =CGRectMake(210,5,20,22);
    UIImageView *imageView2 = [[UIImageView alloc] initWithFrame:myImage2];
    [imageView2 setImage:[UIImage imageNamed:@"star.png"]];
    [cell addSubview:imageView2];
    [imageView2 release]; 
    CGRect myImage3 =CGRectMake(230,5,20,22);
    UIImageView *imageView3 = [[UIImageView alloc] initWithFrame:myImage3];
    [imageView3 setImage:[UIImage imageNamed:@"star.png"]];
    [cell addSubview:imageView3];
    [imageView3 release]; 
    CGRect myImage4 =CGRectMake(250,5,20,22);
    UIImageView *imageView4 = [[UIImageView alloc] initWithFrame:myImage4];
    [imageView4 setImage:[UIImage imageNamed:@"star.png"]];
    [cell addSubview:imageView4];
    [imageView4 release]; 
    CGRect myImage5 =CGRectMake(270,5 ,20,22);
    UIImageView *imageView5 = [[UIImageView alloc] initWithFrame:myImage5];
    [imageView5 setImage:[UIImage imageNamed:@"star.png"]];
    [cell addSubview:imageView5];
    [imageView5 release]; 
}







return cell;
}

当编译器运行该代码时,请给出以下错误

2011-09-13 12:24:13.641 Yelp on way[8739:207]*在-[UITableView\u createPreparedCellForGlobalRow:withIndexPath:],/SourceCache/UIKit\u Sim/UIKit-1447.6.4/UITableView.m:5613中断言失败 2011-09-13 12:24:13.643 Yelp on way[8739:207]由于未捕获的异常“nSinternalinconsistenceException”终止应用程序,原因:“UITableView数据源必须从tableView返回单元格:cellForRowAtIndexPath:” **第一次抛出时调用堆栈: ( 0 CoreFoundation 0x012BE9异常预处理+185 1 libobjc.A.dylib 0x014135c2 objc_异常_抛出+47 2 CoreFoundation 0x01277628+[N异常提升:格式:参数:][136 3基金会0x01677B-[ NSRealStutsHuffer-HuffLeuluIn方法:对象:文件:文件号:描述:] + 116 4 UIKit 0x003e08f3-[UITableView(UITableViewInternal)\u createPreparedCellForGlobalRow:withIndexPath:+883 5 UIKit 0x003d677f-[UITableView(UITableViewInternal)\u createPreparedCellForGlobalRow:+75 6 UIKit 0x003eb450-[UITableView(\u UITableViewPrivate)\u updateVisibleCellsNow:+1561 7 UIKit 0x003e3538-[UITableView布局子视图]+242 8夸脱芯0x00fca451-[CALayer布局子层]+181 9夸脱芯0x00fca17c炉墙布置需要+220 10夸脱核心0x00fc337c_ZN2CA7Context18commit_事务PNS_11事务+310 11夸脱芯0x00fc30d0_Zn2Ca11交易承诺+292 12夸脱核心0x00ff37d5_ZN2CA11事务17观察者_回调EP19__CFrunloop观察者MPV+99 13 CoreFoundation 0x0129ffbb\uuuu CFRUNLOOP\u正在调用一个\u OBSERVER\u CALLBACK\u函数+27 14 CoreFoundation 0x012350e7__cfrunloopdoobserver+295 15 CoreFoundation 0x011FDD7\uuu CFRunLoopRun+1575 16 CoreFoundation 0x011fd240 CFRUNLOOPTRIC+208 17 CoreFoundation 0x011fd161 CFRUNLOOPSRUNINMODE+97 18图形服务0x01b60268 GSEventRunModal+217 19图形服务0x01b6032d GSEventRun+115 20 UIKit 0x0037b42e UIApplicationMain+1160 21在0x00002154主通道+102上呼叫 22在0x000020e5启动+53通道上发出的Yelp声 ) 在抛出“NSException”实例后调用terminate 程序收到信号:“SIGABRT”。 杀死 退出

如何删除它


提前感谢…

如果您使用两种不同类型的单元,则需要使用两个重用标识符

尚不清楚什么是
customCell
,也不清楚何时会设置为任何值

您不应该总是实例化和添加新的图像视图。这将导致重复使用的单元具有多个相互重叠的图像视图。图像视图应在首次安装单元时添加,并在重新使用单元时进行配置。虽然看起来您正在使用5个图像视图来显示星级,但我认为您可以通过使用unicode星级字符的文本来实现这一点

您的代码正在崩溃,因为您正在进入代码的
//配置单元格…
部分,此时
单元格
为nil,然后返回
nil
,这导致引发异常,因为您必须返回
UITableViewCell
对象

研究文档中的单元重用功能,并在其中应用模式。这很简单:

  • 根据您的
    indepath
  • 尝试将具有该标识符的单元格出列
  • 如果未返回任何内容,请创建单元或从nib加载单元,此时创建任何子视图
  • 配置该单元格以及已退出队列或新创建的单元格的任何子视图
  • 返回已完成的单元格

UITableView数据源必须从tableView:cellForRowAtIndexPath返回单元格
有关详细信息,请重新格式化代码,太糟糕了,返回单元格的次数是多少???