我不希望在哪种情况下将参考作为函数参数传递更方便:
- (void)exportXMLToString:(NSMutableString **)aString
我可以按值传递字符串,并在方法执行完毕后将其恢复吗?
由于
答案 0 :(得分:1)
您可能会发现以下主题非常有用。我认为你的问题在这里有很多讨论: Use of pass by reference in Objective-C
答案 1 :(得分:0)
当您不想要额外的String副本时传递引用更方便, 额外复制意味着更多空间,如果要读取/附加字符串<如果你不创建一个新的更好。 您可以通过传递String值(创建一个新值)来轻松完成此操作,但效率不高。 (你想要两个眼镜空间来存放1/2杯水:))
答案 2 :(得分:0)
据我了解您要实现的目标,您只需将方法命名为- (NSString *)xmlStringValue
。
这是一个风格问题,我个人仅在必要时使用ObjC中的引用(它实际上不是语言imho的精神),而且几乎专门用于(NSError **)
。