笔尖泄漏的自定义单元格

Posted

技术标签:

【中文标题】笔尖泄漏的自定义单元格【英文标题】:Custom Cell from nib leaking 【发布时间】:2009-08-25 05:12:38 【问题描述】:

我有一个 UITableViewCell 的子类,我正在尝试使用它。目前它确实作为测试显示正常,但我将错误泄漏到控制台......

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


    static NSString *CustomCellIdentifier = @"CustomCellIdentifier ";

    LeagueCellNormal *cell = (LeagueCellNormal *)[tableView dequeueReusableCellWithIdentifier: CustomCellIdentifier];
    if (cell == nil)  
    
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"LeagueCellNormal" 
                                                     owner:self options:nil];
        cell = (LeagueCellNormal *)[nib objectAtIndex:0];

    
        return cell;

错误:-

[Session started at 2009-08-25 06:03:28 +0100.]
2009-08-25 06:03:40.926 MyApp1[1863:5523] *** _NSAutoreleaseNoPool(): Object 0x14b3f70 of class __NSArrayReverseEnumerator autoreleased with no pool in place - just leaking
Stack: (0x305a2e6f 0x30504682 0x3094a1a6 0x1d2d2 0x3050a79d 0x3050a338 0x94be6155 0x94be6012)
2009-08-25 06:03:40.927 MyApp1[1863:5523] *** _NSAutoreleaseNoPool(): Object 0x1492720 of class NSCFArray autoreleased with no pool in place - just leaking
Stack: (0x305a2e6f 0x30504682 0x3094a09c 0x3094a225 0x1d2d2 0x3050a79d 0x3050a338 0x94be6155 0x94be6012)
2009-08-25 06:03:40.930 MyApp1[1863:5523] *** _NSAutoreleaseNoPool(): Object 0x14423b0 of class NSCFArray autoreleased with no pool in place - just leaking
Stack: (0x305a2e6f 0x30504682 0x3094a09c 0x3094a260 0x1d2d2 0x3050a79d 0x3050a338 0x94be6155 0x94be6012)

【问题讨论】:

自己解决了——布偶!看起来我从一个分离的线程中调用了 reloadData 。然后我在主线程上做了这个,一切都消失了! 【参考方案1】:

解决了我自己-布偶!看起来我从一个分离的线程中调用了 reloadData 。然后我在主线程上做了这个,一切都消失了!

【讨论】:

以上是关于笔尖泄漏的自定义单元格的主要内容,如果未能解决你的问题,请参考以下文章

单击由笔尖制成的自定义表格单元格中的更改图像

来自笔尖的自定义 UiTableViewCell 没有重用?

Grid布局(四)单元格自定义布局

从笔尖初始化自定义 UITableViewCell 没有 dequeueReusableCellWithIdentifier

当在顶部添加新帖子时,UICollectionView 单元格自定义 FlowLayout 中断

handsontable 给单元格自定义属性