在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会有效吗?
答案 0 :(得分:4)
将其设置为nil
将起作用,假设没有其他对象持有({strong> 强 引用)NSDictionary
。
答案 1 :(得分:4)
如果将NSDictionary
设置为nil
或任何对象,它将被释放,假设没有其他对象持有对它的引用(这在ARC环境中)。