在第123行分配并存储到“页面"中的对象的潜在泄漏 [英] Potential leak of an object allocated on line 123 and stored into 'page'

查看:81
本文介绍了在第123行分配并存储到“页面"中的对象的潜在泄漏的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

分析工具在这行代码中可能造成泄漏.

The analyse tool gives a potential leak on this line of code.

for (int index = firstNeededPageIndex; index <= lastNeededPageIndex; index++) {

任何人都可以帮忙,因为我想不通.

Can anybody help, because I can't figure it out.

这是其余的代码

    - (void)tilePages 
{


    // Calculate which pages are visible
    CGRect visibleBounds = pagingScrollView.bounds;
    int firstNeededPageIndex = floorf(CGRectGetMinX(visibleBounds) / CGRectGetWidth(visibleBounds));
    int lastNeededPageIndex  = floorf((CGRectGetMaxX(visibleBounds)-1) / CGRectGetWidth(visibleBounds));
    firstNeededPageIndex = MAX(firstNeededPageIndex, 0);
    lastNeededPageIndex  = MIN(lastNeededPageIndex, [self imageCount] - 1);

    // Recycle no-longer-visible pages 
    for (ImageScrollView *page in visiblePages) {
        if (page.index < firstNeededPageIndex || page.index > lastNeededPageIndex) {
            [recycledPages addObject:page];
            [page removeFromSuperview];
        }
    }
    [visiblePages minusSet:recycledPages];

    // add missing pages
    for (int index = firstNeededPageIndex; index <= lastNeededPageIndex; index++) {
        if (![self isDisplayingPageForIndex:index]) {
            ImageScrollView *page = [self dequeueRecycledPage];
            if (page == nil) {
                page = [[ImageScrollView alloc] init];
            }
            [self configurePage:page forIndex:index];
            [pagingScrollView addSubview:page];
            [visiblePages addObject:page];

        }
    }    

}

推荐答案

您永远不会释放在代码段底部分配的页面(假设您未使用ARC)

You never release the page you allocate at the bottom of your snippet (assuming you are not using ARC)

这篇关于在第123行分配并存储到“页面"中的对象的潜在泄漏的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆