感谢您查看这篇文章,如果你们能帮助我,那就太好了。我一直在做一些objective-c,并了解了objective-c的内存管理方式,比如确保在我拥有对象时调用release,何时调用autorelease等。我也不想使用ARC或新引入的 GC 因为我喜欢管理自己的内存,我计划稍后进入 iOS 开发,并且我知道管理自己的内存是一个好习惯。但是还有一个小细节我似乎碰到了一堵砖墙。它与向对象发送 -retain 消息有关。我了解到发送 -retain 消息会使引用计数增加 1。但这是否是发送 -retain 的合适时间?:
- (void) setName : (NSString* ) theName
{
// name is an instance variable of type NSString
[theName retain]; // Must release this
name = [theName copy]; // Must release this in dealloc
[theName release]; // decrement the reference count because of retain
}
我应该在这里调用retain,以便我暂时拥有这个论点,并确保它在我开始使用它之前不会以某种方式被释放吗?
任何帮助,将不胜感激!谢谢!