3

鉴于以下 Objective-C 示例,保留单独的语句或将它们捆绑在一起仅仅是样式和易于阅读的问题吗?两者都有实际好处吗?声明单个变量是否浪费内存?

NSDictionary *theDict = [anObject methodToCreateDictionary];
NSArray *theValues = [theDict allValues];
NSString *theResult = [theArray componentsJoinedByString:@" "];

或者

NSString *theResult = [[[anObject methodToCreateDictionary] theValues] componentsJoinedByString:@" "];
4

2 回答 2

2

当我声明一个单独的变量时,我会考虑以下几点:

  • 如果我想在调试器中查看它的值。
  • 如果我不止一次访问该变量。
  • 如果线路太长。

然而,这两种方法之间没有实际区别。

于 2013-05-19T08:28:59.433 回答
1

此外,您还没有直接询问此问题,但请注意,当您使用点符号访问对象时,例如:

myObject.myObjectProperty1.myObjectProperty1Property; 

如果您要myObjectProperty1Property多次访问,建议将其分配给本地命名变量。如果您不这样做,则查找将多次执行。

现在我怎么强调都不为过,因为在很多情况下,如果不是大多数情况下,节省的时间是如此微不足道,以至于严重质疑是否值得花时间为作业做额外的打字!那我为什么要提出这个?因为已经说过——除了风格上的“anality”(我刚刚编了一个新词)——如果你正在编写的代码部分在一个紧密的循环中运行,那么值得格外小心。一个例子是编写代码来填充包含大量单元格的 UICollectionView 中的单元格。此外,如果您使用 Core Data 并且使用点符号来引用 NSManagedObject 属性的属性,那么每次查找都会产生更大的开销,

于 2013-05-19T09:09:38.763 回答