我正在浏览所有有关内存管理的文档,但我对某些事情感到有些困惑。
当您使用 @property 时,它会为对象创建 getter/setter:
.h: @property (retain, nonatomic) NSString *myString
.m: @synthesize myString
我明白这一点,但我感到困惑的是自我的使用。我在不同的博客和书籍中看到不同的语法。我见过:
myString = [NSString alloc] initWithString:@"Hi there"];
或者
self.myString = [NSString alloc] initWithString:@"Hi there"];
然后在 dealloc 我看到:
self.myString = nil;
或者
[myString release];
或者
self.myString = nil;
[myString release];
在这个网站上,有人说使用 self 会增加保留计数的另一个增量?是真的吗,我在哪里都没见过。
提供的自动获取器/设置器是否自动释放?
做这一切的正确方法是什么?
谢谢!