我有以下块给我性能工具中的问题: 特别是它说 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;

更新:

items 是@property(nonatomic, retain) 这会导致保留计数为+2吗?

最佳答案

如果您向保留的 NSArray 或 NSDictionary 添加某些内容,则保留 mySTObject,这意味着在您执行此操作时它仍然存在 - 释放然后将其设置为 nil。从保留对象的存储中删除对象,您的“泄漏”就消失了。

关于iphone - 不明白为什么这里有内存泄漏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3512317/

10-13 04:27