2012-02-12 14 views
1

Instrumentsを使用しているときにデバイス(iOS 5)でアプリケーションをテストしていて、数回のメモリリークがあります。iOS 5 cellForRowAtIndexPath Memory Leak

これは私が(正確なラインの矢印を参照)楽器からにリダイレクトされているコードの一部です:

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

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

     // Configure the cell... 
     [[cell titulo] setFont:fuente_titulo]; 
     ... 
     return cell; 
} 

あなたが見ることができるように、私はAからロードされたカスタムセルを持っていますNIBファイル。セルには3つのファイルがあります(、customCell.hcustomCell.xib)。これは、ARCを使用したiOS 5であるため、セルコントローラで何かをリリースする必要があるかどうかはわかりません(現在は空ですが、メソッドはありません)。

答えて

0

テーブルビュープログラミングとNIB(XIB)ファイルからセルを読み込む方法を見てください。

https://developer.apple.com/library/ios/#documentation/userexperience/conceptual/TableView_iPhone/TableViewCells/TableViewCells.html#//apple_ref/doc/uid/TP40007451-CH7-SW1

奇妙な最初の事はあなたがローカル変数にセルを格納していることです。あなたはクラスのプロパティにカスタムセルを配線する必要がありますし、あなたのコード内で呼び出すすべてがある:

[[NSBundle mainBundle] loadNibNamed:@"CeldaUltimasFotosViewCell" owner:self options:nil]; 

は、nibファイルからカスタムTable View Cellをロードからコードをフォローし、あなたがすることはできませんうまくいかない。ここ

+0

こんにちはtwilsonをloadNibNamedを使用する必要はありません。不運にも私はこれらの文書をしばらく読んできましたが、無事でした。私はここにStackoverflowでこの答えを読んだ後に行った:[リンク](http://stackoverflow.com/questions/540345/how-do-you-load-custom-uitableviewcells-from-xib-files)。とにかく、私が何かを見逃してしまった場合に備えて、私はそれを何度も繰り返します。私のコードに何か変わったことがある場合は、私に知らせてください。 解決策が見つかると投稿させていただきます。 もう一度おねがいします! –

+0

私は答えにもう少し詳細を追加しました。 – twilson