currentSettings
- ivar
settings
-方法参数
是通常执行多次的方法。ARC已启用
currentSettings = [[NSMutableDictionary alloc]init];
currentSettings = settings;
这段代码有问题吗?
没有泄漏,这只会在ARC未启用时泄漏(因为那样您将失去指向已创建的NSMutableDictionary
的指针)。但是,由于启用了ARC,您只是在多余地分配和释放字典,因为currentSettings
实例变量将在设置新值时释放其先前的值。
总之,你不需要第一行。实例变量默认为strong
,因此它将负责(保留)方法参数。
您的第一行是创建一个新的字典,然后当您将currentSettings指向settings时丢弃该字典。在启用ARC的情况下,我不认为它会泄漏内存(空字典将被释放),但它也不会做任何事情。