0

私は他の多くの人でこの問題を見て、すべてのトピックを調べましたが、解決策を見つけることができないようです.

したがって、セルが .xib ファイルにリンクされた通常のテーブル ビューがあり、最初に起動するとすべてが正常に見えますが、スクロールを開始するとすぐにアプリがクラッシュします。

ゾンビ オブジェクトを有効にすると、次のエラーが発生しました。

2012-05-03 16:18:13.008 coop_dev[27547:f803] * -[ActivityTableViewController tableView:cellForRowAtIndexPath:]: 割り当て解除されたインスタンス 0x6853990 に送信されたメッセージ

しかし、何を探すべきか、何がうまくいかないのかわかりません:

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

    if(cell == nil) 
    {
        NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"ItemCell" owner:nil options:nil];
        cell = [topLevelObjects objectAtIndex:0];
    }

    Item *item = [self.activity objectAtIndex:indexPath.row];

    [[cell projectLabel] setText:item.project];
    [[cell descriptionLabel] setText:item.description];
    [[cell timeLabel] setText:item.time];
    [[cell timeAgoLabel] setText:item.timeAgo];
    //cell.avatar = [UIImageView item.avatar];

    cell.descriptionLabel.numberOfLines = 0;
    [cell.descriptionLabel sizeToFit];

    // remove the right arrow
    cell.accessoryType = UITableViewCellAccessoryNone;

    return cell;
} 

最初の起動時は正常に動作しますが、その後クラッシュするだけです

編集

新しいプロジェクトで問題を再現しました。スクロールを開始すると、クラッシュするいくつかのデータを含む基本的なテーブルです。ダウンロード: http://dl.dropbox.com/u/274185/TestTable.zip

4

3 に答える 3

2

FirstViewController.xibでは、 を削除しますUITableViewControllerが、 はそのままにしておきますUITableViewFile's Ownerがすでにクラスとして設定されFirstViewControllerIdentity Inspectorおり、2 番目の があるように見えるため、クラッシュが発生しますUITableViewControllerUITableViewがコントローラのビュー アウトレットに接続されていることも確認してください。

于 2012-05-04T05:21:29.233 に答える
0

コードをデキューしているのは少しずれています...私のものを試してください:

     UITableViewCell *cell = [[UITableViewCell alloc] init];
cell = nil;
if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
                                   reuseIdentifier:@"cell"]
            autorelease];


    cell.imageView.image = nil;
    cell.textLabel.text = nil;

}
于 2012-05-03T08:23:22.663 に答える
0

Check your ItemCell class' dealloc method, you're probably overreleasing something.

于 2012-05-03T08:29:37.750 に答える