objective-c - 我应该避免创建大量变量吗?

标签 objective-c cocoa object variables

我有两种可能性:

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/

相关文章:

objective-c - 使用拖放重新排列时,小圆线条卡在 NSOutlineView 顶部

ios - 如何在ios中将当前位置用户头像居中

javascript - childObj.prototype = Object.create(parentObj.prototype) 和 childObj.prototype = ParentObj.prototype 有什么区别?

objective-c - didReceiveAuthenticationChallenge 未被调用

cocoa - 如何从 FSSpec 获取 NSString(Unix 风格路径)

objective-c - 在存在新 API 时构建向后兼容的 OS X 应用程序?

objective-c - cocoa :int 主要功能

asp.net-mvc-3 - 没有为此对象定义无参数构造函数 MVC3

java - isInstance 和 instanceof - 为什么没有通用方法?

ios - 一个新的 TableView 位于另一个 TableView 之后