在Objective-C中将引用作为函数参数传递

时间:2012-06-18 06:50:20

标签: objective-c cocoa

我不希望在哪种情况下将参考作为函数参数传递更方便:

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

我可以按值传递字符串,并在方法执行完毕后将其恢复吗?

由于

3 个答案:

答案 0 :(得分:1)

您可能会发现以下主题非常有用。我认为你的问题在这里有很多讨论: Use of pass by reference in Objective-C

答案 1 :(得分:0)

当您不想要额外的String副本时传递引用更方便, 额外复制意味着更多空间,如果要读取/附加字符串<如果你不创建一个新的更好。 您可以通过传递String值(创建一个新值)来轻松完成此操作,但效率不高。 (你想要两个眼镜空间来存放1/2杯水:))

答案 2 :(得分:0)

据我了解您要实现的目标,您只需将方法命名为- (NSString *)xmlStringValue

这是一个风格问题,我个人仅在必要时使用ObjC中的引用(它实际上不是语言imho的精神),而且几乎专门用于(NSError **)