我有两种可能性:
1) 将对象存储在变量中并在我的代码中使用该变量。但这使用内存来存储对象,对吗?
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
BOOL bool1 = [userDefaults boolForKey: key1];
BOOL bool2 = [userDefaults boolForKey: key2];
2)不要将其存储在变量中,并在需要时从头开始创建它。
BOOL bool1 = [[NSUserDefaults standardUserDefaults] boolForKey: key1];
BOOL bool2 = [[NSUserDefaults standardUserDefaults] boolForKey: key2];
在这种情况下会推荐什么?如果对象之间存在差异,那么我如何知道使用哪一个?
最佳答案
就您在问题中展示的特定示例而言,这两种获取 NSUserDefaults
的方法之间没有实际区别。除非您正在处理大型数据对象(例如 UIImages
),否则您应该专注于代码的清晰度和可读性。如果您在测试过程中发现内存问题,请稍后回来寻找使用更少内存的方法。
关于objective-c - 我应该避免创建大量变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3100721/