我想知道如何对用于将值传递到方法并(可选)从方法返回更新值的方法参数进行内存管理。
例如,-validate<Key>:error:
KVC 中的方法有一个 (id *)ioValue
可以通过该方法更新的参数。您可以返回一个自动释放的对象,但是更新时应该如何处理输入对象?这种情况有什么约定吗?
最佳答案
用新对象替换对象引用并没有什么特别复杂的地方,就像在首次创建对象时获取 nil
引用并使其有效一样。
如果您使用 ARC,那么编译器将意识到旧的引用已被替换,就像在任何其他情况下一样。如果使用 MRR,则需要遵守正常的 retain
/release
约定以避免内存泄漏。
关于objective-c - 管理传入 in-out 参数的对象的内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16663413/