1

ユーザーがいずれかの行をクリックしたときに変更する (1 行を削除して 1 行を挿入する) UITableView があります。メモリの解放は iOS6 以前ではうまく機能しますが、iOS7 ではテーブルビューは解放されません。これが私のコードの基本です。コードを大幅に削減しましたが、問題はまだ残っています。

- (void)tableView:(UITableView *)intableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    [intableView beginUpdates];
    [intableView endUpdates];
}

開始/終了の更新により、メモリがどこかに保持されます。この関数内で (バックグラウンド データ配列と共に) 行を挿入または削除しても同じです。以下を追加するだけで、UITableView とセルをサブクラス化しました。

-(void)dealloc
{
    NSLog(@"deallocated %@",[self class]);
}

それらがいつ割り当て解除されるかを確認できるように。選択時にテーブルビューを更新する必要はもうありませんか? 何かが開催されるのは別のスレッドですか?dispatch_async(私は別のスレッドで試しました)

もっと多くのコードを投稿することもできますが、現在のコードは投稿したものと同じように見えますが、何らかの形でテーブルビューを保持しており、割り当てを解除していません。

4

0 に答える 0