尝试创建 CGSize 以设置 UILabel 的正确高度时出现泄漏。在 heightForRowAtIndexPath 中设置高度时,我也收到了同样的泄漏。
这是泄漏的代码片段:
CGSize size = [news.news sizeWithFont:[UIFont fontWithName:@"HelveticaNeue" size:12] constrainedToSize:CGSizeMake(230.0f, CGFLOAT_MAX) lineBreakMode:NSLineBreakByWordWrapping];
UILabel *newsLabel = [[UILabel alloc] initWithFrame:CGRectMake(65, 50, 230, size.height)];
newsLabel.font = [UIFont fontWithName:@"HelveticaNeue" size:12];
newsLabel.textAlignment = NSTextAlignmentLeft;
newsLabel.text = news.news;
newsLabel.numberOfLines = 0;
newsLabel.lineBreakMode = NSLineBreakByWordWrapping;
newsLabel.textColor = COLOR_DARK_GRAY;
newsLabel.highlightedTextColor = COLOR_WHITE;
newsLabel.backgroundColor = COLOR_CLEAR;
[cell.contentView addSubview:newsLabel];
[newsLabel release];
这是泄漏仪器中列出的泄漏:
泄漏对象:icu::UCharCharacterIterator 负责库:WebCore 负责框架:WebCore::LineBreakIteratorPool::take(WTF::AtomicString const&)
还有一个指向同一行的不同泄漏:
泄漏对象:icu::UCharCharacterIterator 负责库:WebCore 负责框架:WebCore::acquireLineBreakIterator(unsigned short const*, int, WTF::AtomicString const&)
如果还有什么我可以提供的,我很乐意这样做。我已经通过注释掉上面的单行(创建 CGSize 大小)来确认它是泄漏的行。发生在模拟器和设备上。