> UITableview崩溃(终止称为抛出异常(lldb))

时间:2012-10-23 06:07:10

标签: iphone ios

-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:
(NSIndexPath *)indexPath
{
    UITableViewCell *cellName=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"cell1"];
    NSDictionary *contentdict=[innerarray objectAtIndex:indexPath.row];
    static NSString *cellidentify=@"cell";
    UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:cellidentify];

}

这个我的代码每件事都有效,但是当我滚动tableview时会出现崩溃 即使我已正确地给出数组值并将委托和数据源作为self 有没有什么我需要写r改变????? 我正在使用Xcode 4.5

2 个答案:

答案 0 :(得分:1)

试试这个......可能有帮助......

-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:
(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];

    if (cell == nil)
    {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"cell"] autorelease];
    }

    NSDictionary *contentdict = [[NSDictionary alloc]init];
    if([innerarray count]>0)
    {
       contentdict =[innerarray objectAtIndex:indexPath.row];
    }

// Write your other cell stuff.... 

    return cell;
}

答案 1 :(得分:0)

我认为它崩溃了,因为你没有从cellForRowAtIndexPath方法返回任何单元格。改变cellForRowAtIndexPath之类的:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
{
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];


    if (cell == nil)
    {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"cell"] autorelease];
    }

    //do something with the cell

   return cell;
}