看不出为什么这里有内存泄漏

She*_*lam 3 memory iphone cocoa cocoa-touch objective-c

我有以下块给我在性能工具中的问题:特别是它说STObject正在泄漏.我不知道为什么?

for (NSDictionary *message in messages)
{
    STObject *mySTObject = [[STObject alloc] init];

    mySTObject.stID = [message valueForKey:@"id"];

    [items addObject:mySTObject];
    [mySTObject release]; mySTObject = nil;

} 
[receivedData release]; receivedData=nil;
[conn release]; conn=nil;
Run Code Online (Sandbox Code Playgroud)

更新:

项目是@property(非原子,保留)会导致保留计数为+2吗?

Ant*_*udt 6

如果你保留了NSArray或NSDictionary的东西,你的mySTObject就会被保留,这意味着当你执行时它仍然存在 - 释放然后将其设置为nil.从保留它的存储中删除对象,并且"泄漏"消失.