2

我想知道必须如何对用于将值传递给方法和(可选)从方法返回更新值的方法参数进行内存管理。

例如,-validate<Key>:error:KVC 中的方法有一个(id *)ioValue可以被方法更新的参数。您可以返回一个自动释放的对象,但是在更新时您应该如何处理输入对象?这种情况有什么约定吗?

4

1 回答 1

1

用新对象替换对象引用并没有什么特别复杂的事情,就像在nil第一次创建对象时获取引用并使其有效一样。

如果您使用 ARC,那么编译器将意识到旧的引用已被替换,就像在任何其他情况下一样。如果使用 MRR,那么您需要遵守正常retain/release约定以避免内存泄漏。

于 2013-05-21T07:32:24.627 回答