カスタムセルの漏れに問題があります。私の上書きのUITableViewControllerでカスタムセルのリーク
、私はそこに対応するNIBは、カスタムセル(TwitterTweetTableCell)のためである、と述べたように
- (TwitterTweetTableCell *) initWithTable:(UITableView *) tableView
andTweet:(NSDictionary *) tweet
{
tweetCell = nil;
// ************************************************************************************
// The identifier used in the following dequeue is the one set in the corresponding nib
// ************************************************************************************
tweetCell = (TwitterTweetTableCell *)
[tableView dequeueReusableCellWithIdentifier:@"tweetCell"]; // <-- set this in NIB
if (tweetCell)
{
NSLog(@"tweetCell: Reuse!");
}
if(!tweetCell)
{
NSArray *topLevelObjects = [[NSBundle mainBundle]
loadNibNamed:@"TwitterTweetTableCell" owner:nil options:nil];
for(id currentObject in topLevelObjects)
{
if([currentObject isKindOfClass:[TwitterTweetTableCell class]])
{
tweetCell = (TwitterTweetTableCell *)currentObject;
break;
}
}
// yadda, yadda, yadda
[tweetCell retain];
}
return tweetCell;
}
、
- (UITableViewCell *)tableView:(UITableView *) tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
TwitterTweetTableCell *cell = nil;
// Obtain the cell...
cell = [[TwitterTweetTableCell alloc]
initWithTable:tableView
andTweet:[[self getTimeline] objectAtIndex:indexPath.row]];
return [cell autorelease];
}
と、対応する上書きのUITableViewCellクラスで、持っていますコードでは、セルの識別子がそこに 'tweetCell'に設定されています。
楽器によると、それは私が(それはとにかく、アロケーションからの復帰だと1のretainCountで細胞を返すには、私が正しいんだと信じてい:-(
細胞をリークし、以外のコードは、正常に動作します私がいない場合には、コードが示すように、私は最終的に表コントローラにそれを渡す前に、それを自動解放。)ゾンビでクラッシュ。この漏れはいただければ幸い理由について
思考。
優秀!非常に明確で、有益な、そして、すべてのベストな;-)それは問題を修正しました。私はそれからたくさんのことを学びました - ありがとう、ゆじ。 – Snips