当我使用表格视图时,我的iphone应用程序崩溃了

时间:2012-01-15 06:03:49

标签: iphone xcode

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *theCell=[UITableViewCell alloc];
     theCell=[theCell initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"];

      NSLog(@"%i",[table count]);

         theCell.textLabel.text=[table objectAtIndex:[indexPath row]];  

    return theCell;
}

文件Values.plist中插入了三个值,它们在函数viewDidLoad()中填充了NSArray“table”,但我的应用程序崩溃了

" theCell.textLabel.text=[table objectAtIndex:[indexPath row]];  "
But the line "NSLog(@"%i",[table count]);" works and shows me 3
please help .

2 个答案:

答案 0 :(得分:1)

这是标准实施:

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

        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
        if (cell == nil) {
            cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
        }


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

作为旁注,这是ARC实施。如果您不使用ARC,只需添加autoRelease:

cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier]autoRelease];

还要确保您的dataSource numberOfSections设置正确:

return 1;

和numberOfRows设置为数组:

return [table count];

答案 1 :(得分:0)

请注意以下问题:

1)确保NSArray具有值,即已填充。

2)同时尝试NSLog(@"%d",[table count]);

我认为你最好选择%d而不是%i

希望这会对你有所帮助。