我发送了太多对象 - 自动释放太多次,这个内存泄漏我的iPhone应用程序并且不知道如何解决它 http://screencast.com/t/fPzMNewvq 以上是相同的屏幕截图。
SAAdvertiseCell有很多正在发布的对象,那么如何找到确切问题的位置呢? 感谢
答案 0 :(得分: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:
已经返回一个自动释放的对象,然后你发送另一个自动释放。因此,请检查该方法以找到问题。
答案 1 :(得分:0)
要创建Custom 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;
}
希望这能帮助您解决问题