强制 NSDictionary 释放内存



在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

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

将其设置为 nil 将起作用,假设没有其他对象保留(具有对NSDictionary引用)。

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

最新更新