尽管使用ARC,[[NSMutableArray alloc] init]中的内存泄漏

时间:2013-05-06 08:57:27

标签: objective-c ios5 memory-leaks nsmutablearray

我正致力于Memory Fineturning,大多数问题都是在stackoverflow的帮助下解决的。但最后我在NSMutableArray初始化时遇到了严重的内存泄漏。

- (NSMutableArray *)children {

    if (!_children) {

        _children = [NSMutableArray new]; // <-- here is the memory leak
    }

    return _children;
}
  • 我正在使用我们使用100%ARC的项目。
  • 除了主线程(未使用线程)之外,不会触发特定类初始化。
  • 但......这是我们使用recurtion的唯一地方
  • 此外还有声明

    @property(强,非原子)NSMutableArray * children;

    @synthesize children = _children;

各自的.h和.m文件......

Waht可能是问题......?

先谢谢你的努力...

更多信息......

- (id)init {

    if (self = [super init]) {

        [self setIsRoot:NO];
//        [self setChildren:[NSMutableArray new]]; // <-- was before, but I moved to custom setter
    }
    return self;
}

- (id)initAsRoot
{
    if (self = [self init]) {
        self.level = -1;
        self.index = -1;
        self.isExpaned = YES;
        self.value = @"Root";
        self.isRoot = YES;
    }
    return self;
}

0 个答案:

没有答案