首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS 5 cellForRowAtIndexPath内存泄漏

iOS 5 cellForRowAtIndexPath内存泄漏
EN

Stack Overflow用户
提问于 2012-02-12 19:38:37
回答 2查看 1.4K关注 0票数 1

我一直在设备(iOS 5)上测试应用程序,同时使用仪器,我发现了几个内存泄漏。

这是我从Instruments被重定向到的代码的一部分(参见箭头中的确切行):

代码语言:javascript
复制
- (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;
}

如您所见,我有一个从NIB文件加载的自定义单元格。单元格有三个文件(customCell.mcustomCell.hcustomCell.xib)。问题是,我不知道是否必须在单元控制器中释放一些东西(现在是空的,没有方法),因为这是带ARC的iOS 5。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-13 16:26:13

在这里查看我的答案:

How can I recycle UITableViewCell objects created from a XIB?

您甚至不再需要在iOS5上使用loadNibNamed

票数 0
EN

Stack Overflow用户

发布于 2012-02-12 19:52:11

看一下Table View编程,以及如何从NIB (XIB)文件加载单元格。

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

第一件奇怪的事情是你将单元格存储在一个局部变量中。您应该将自定义单元格连接到类中的属性,并且您在代码中所调用的全部内容是:

代码语言:javascript
复制
[[NSBundle mainBundle] loadNibNamed:@"CeldaUltimasFotosViewCell" owner:self options:nil];

遵循从Nib文件加载自定义表格-视图单元格的代码,你不会出错的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9248467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档