objective-c - 管理传入 in-out 参数的对象的内存

标签 objective-c cocoa key-value-coding

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

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

最佳答案

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

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

关于objective-c - 管理传入 in-out 参数的对象的内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16663413/

相关文章:

iphone - 有关使用 GData 电子表格和 gdata-objectivec-client 的任何示例/教程吗?

swift - 在 Swift 中使用数组/字典进行键值编码 (KVC)

iphone - 将带有数字的 NSString 转换为适当的电话号码本地化格式

SQLite:LIKE 'searchstr%' 应该使用索引吗?

macos - 在 Mac 应用程序沙箱内使用 LaunchAgent

python - 获取字典中的最大值

objective-c - KVC : How to test for an existing key

objective-c - 如何在 Objective-C 中引发事件

ios - 如何使用最新的 iOS SDK 在 Pinterest 中分享图片

带有图像资源的 iOS 静态库