1

あまりにも多くのオブジェクトが送信されます - 自動リリースが多すぎます。iPhone アプリでこのメモリ リークが発生し、解決方法がわかりません http://screencast.com/t/fPzMNewvq 上記は同じスクリーン ショットです。

SAAdvertiseCell にはリリース中のオブジェクトがたくさんありますが、正確な問題がどこにあるかをどのように見つけることができるのでしょうか? ありがとう

4

2 に答える 2

1

まずは細胞を再利用してみませんか?

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    Cell* cell = [tableView dequeueReusableCellWithIdentifier:cell_id];
    if(!cell)
    {
        cell = // create new cell;
    }

    // configure cell

    return cell;
}

そしてあなたの問題のために:initWithData:すでに自動解放されたオブジェクトを返しているようで、別の自動解放を送信します。そのため、その方法を確認して問題を見つけてください。

于 2013-05-17T09:10:31.893 に答える
0

カスタム UITableViewCell を作成するには、次の方法でコードを記述します。

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

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

      // write your code to customize cell or providing data content

      return cell;
}

これが問題の解決に役立つことを願っています

于 2013-06-03T10:23:57.377 に答える