2011-07-08 5 views
-1

この方法は機能しますが、いつ行データを公開するのか分かりません。テーブルデータをリロードした後に行を解放するのはいつですか?

-(void)refreshTable:(NSMutableArray *) tbdata{ 
    rowdata=[tbdata retain]; 
    [tabledata reloadData]; 
} 

以下このバージョンでは、エラーが発生します。

-(void)refreshTable:(NSMutableArray *) tbdata{ 
    rowdata=[[tbdata retain] autorelease]; 
    [tabledata reloadData]; 

} 

以下このバージョンの場合と同様に:

-(void)refreshTable:(NSMutableArray *) tbdata{ 
    rowdata=[tbdata retain]; 
    [tabledata reloadData]; 
    [rowdata release] 
} 

私はrowdataリリースする必要がありますか?

+0

彼らのために新しいものを作成します。なぜあなたは? – Legolas

答えて

1
UITableViewCell *cell = [self.tableview dequeueReusableCellWithIdentifier:CellIdentifier]; 

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

}

uは、このような細胞を作成した場合、スクロールアップ/ダウンしながら、それらは

を(セルを隠すこと)、これはパフォーマンスの理由で自動解放されます。

uはそれが彼らが表示されますテーブルをリロードしながら、識別子を持つセルが、メモリに住んでいればそうFIRSTLINEのもの

について心配しないで。

ない場合は、もう一度それはそう

+0

答えをいただきありがとうございますので、私は行データを公開する必要はありませんか? – ngupiel

+0

私は上記のように使用する場合保持することを心配していないと言った –

関連する問題