0

我在 viewdidload 中有这段代码:

NSMutableArray *children = [NSKeyedUnarchiver unarchiveObjectWithData:childData];
self.childrenArray = [children copy];

每当我用新的或副本初始化对象时,我必须释放它吗?因此,当我分析来自 xcode 的代码时,它没有给我任何关于不释放 childrenArray 的内存警告,为什么会这样?我不会在 dealloc 上发布它也只是为了检查。我记得在许多以前的代码中,当我开始新的代码时,它给了我警告。我没有使用 ARC。

编辑:我正在使用复制属性,即@property(复制,非原子),我读到这里合成器将复制对象而不是保留,所以它必须对此做任何事情。我的查询是如果合成器复制对象不会增加对象的保留计数,在这种情况下复制与保留有何不同?我需要明白这一点。谢谢

谢谢。

4

1 回答 1

0

分析器中的错误。请归档。在此处发布错误的#。(除非最新版本的 Xcode/clang 确实标记了它。)

请注意,由于您没有使用 ARC,因此分析器可能会假设您很棘手。不过,我仍然认为它应该标记这一点。

于 2012-08-22T07:57:20.747 回答