Objective-C:是否有任何泄漏



currentSettings - ivar

settings -方法参数

这里的

是通常执行多次的方法。ARC已启用

currentSettings = [[NSMutableDictionary alloc]init];
currentSettings = settings;

这段代码有问题吗?

没有泄漏,这只会在ARC未启用时泄漏(因为那样您将失去指向已创建的NSMutableDictionary的指针)。但是,由于启用了ARC,您只是在多余地分配和释放字典,因为currentSettings实例变量将在设置新值时释放其先前的值。

总之,你不需要第一行。实例变量默认为strong,因此它将负责(保留)方法参数。

您的第一行是创建一个新的字典,然后当您将currentSettings指向settings时丢弃该字典。在启用ARC的情况下,我不认为它会泄漏内存(空字典将被释放),但它也不会做任何事情。

最新更新