2

我不知道在哪些情况下将引用作为函数参数传递更方便:

- (void)exportXMLToString:(NSMutableString **)aString

我可以按值传递字符串并在方法完成执行时将其返回吗?

谢谢

4

3 回答 3

1

您可能会发现以下线程很有用。我认为您的问题在这里得到了广泛的讨论: Use of pass by reference in Objective-C

于 2012-06-18T07:16:15.960 回答
0

当您不想要额外的String副本时传递引用更方便,额外副本意味着更多空间,如果您想读取/附加String<最好不要创建新的。您可以通过传递 String 值(创建一个新值)轻松地做到这一点,但这不是很有效。(你想要两个玻璃杯空间来储存 1/2 杯水 :))

于 2012-06-18T07:11:59.817 回答
0

据我了解您要实现的目标,您可以命名您的方法- (NSString *)xmlStringValue

这是风格问题,我个人只在必要时使用 ObjC 中的引用(这并不真正符合语言恕我直言的精神),并且几乎专门用于(NSError **).

于 2012-06-18T07:35:38.667 回答