强制NSDictionary释放内存

时间:2012-06-27 11:24:43

标签: objective-c ios ios5

在ARC项目的某个地方,我有:

//Class1.h
@interface Class1 {
    NSDictionary * dict;
}

@end

//Class1.m
@implementation Class1

-(void)loadDict {
    NSDictionary * dict = [[NSDictionary alloc] init];
    // Now load couple of (NSString *, NSString *) pairs into the dictionary
    ...
}

-(void)releaseAllMemoryUsedByDict {
    //TODO
}

@end

如何根据需要释放dict占用的所有内存?我想如果我有一个NSMutableDictionary,我可以调用它的removeAllObjects方法。我如何为NSDictionary做到这一点?设置dict = NULL会有效吗?

2 个答案:

答案 0 :(得分:4)

将其设置为nil将起作用,假设没有其他对象持有({strong> 引用)NSDictionary

答案 1 :(得分:4)

如果将NSDictionary设置为nil或任何对象,它将被释放,假设没有其他对象持有对它的引用(这在ARC环境中)。