如果我有一个使用输入的方法,我必须保留吗?
- (void) exampleMethod: (NSString *)input {
self.hey = [input retain];
}
如果我多次使用input
该怎么办?
答案 0 :(得分:2)
您不需要保留在方法期间只打算使用的参数。如果你要更长时间地保持对它的引用(正如你在你的例子中那样),那么在大多数情况下你应该这样做。
但是,如果你正在使用一个属性(你似乎也在这里),你应该在属性设置器本身内管理内存,而不是在调用setter时显式调用retain。
答案 1 :(得分:2)
阅读Memory Management Rules。如果hey
是设置了retain
或copy
属性的属性,则您无需在其上调用-retain
(您只需执行self.hey = input
) 。
答案 2 :(得分:1)