Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 强制NSDictionary释放内存_Objective C_Ios_Ios5 - Fatal编程技术网

Objective c 强制NSDictionary释放内存

Objective c 强制NSDictionary释放内存,objective-c,ios,ios5,Objective C,Ios,Ios5,在ARC项目的某个地方,我有: //Class1.h @interface Class1 { NSDictionary * dict; } @结束 如何按需释放dict占用的所有内存?我想如果我有一个NSMutableDictionary,我可以调用它的removeAllObjects方法。我该怎么做呢?设置dict=NULL有效吗 如果没有其他对象保留对NSDictionary的强引用,则将其设置为nil将起作用。如果将NSDictionary或任何对象设置为nil,则将其释放,前提

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

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


如何按需释放dict占用的所有内存?我想如果我有一个NSMutableDictionary,我可以调用它的removeAllObjects方法。我该怎么做呢?设置dict=NULL有效吗

如果没有其他对象保留对NSDictionary的强引用,则将其设置为nil将起作用。

如果将NSDictionary或任何对象设置为nil,则将其释放,前提是在ARC环境中没有其他对象保留对其的引用

将其设置为nil将完成此工作。如果它仍然不起作用,撕掉字典的所有页面:EWW,请不要这样说。
//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