我收到太多的對象 - autorelease太多次了,這個內存泄漏對我的iPhone應用程序而言並不知道如何解決它 http://screencast.com/t/fPzMNewvq 以上是相同的屏幕截圖。對象發送 - autorelease太多次,爲我的iPhone應用程序獲取此泄漏?
SAAdvertiseCell有很多正在發佈的對象,那麼如何才能找到確切的問題在哪裏? 謝謝
我收到太多的對象 - autorelease太多次了,這個內存泄漏對我的iPhone應用程序而言並不知道如何解決它 http://screencast.com/t/fPzMNewvq 以上是相同的屏幕截圖。對象發送 - autorelease太多次,爲我的iPhone應用程序獲取此泄漏?
SAAdvertiseCell有很多正在發佈的對象,那麼如何才能找到確切的問題在哪裏? 謝謝
起初,爲什麼你不重用細胞?
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
Cell* cell = [tableView dequeueReusableCellWithIdentifier:cell_id];
if(!cell)
{
cell = // create new cell;
}
// configure cell
return cell;
}
併爲您的問題:似乎initWithData:
已經返回一個自動釋放的對象,那麼你再派自動釋放。因此請檢查該方法以找出問題。
對於創建自定義的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;
}
希望這將幫助你解決你的問題