作者zonble (zonble)
看板MacDev
标题Re: [问题] viweDidUnload该填的内容为何?
时间Tue Aug 4 23:07:33 2009
※ 引述《denru01 (阿儒)》之铭言:
: 偏偏viewDidUnload似乎是在记忆体不够时才会被呼叫,
: 现在根本没办法测。
iPhone Simulator 的 Hardware 选单里头有一项
「Simulate Memory Warning」,就是拿来做这件事情用的。
: 另外, 设self.myOutlet = nil; 与 [self.myOutlet release]; 的差别为何呢?
: 在此能不能使用[self.myOutlet release];呢?
在 ObjC 2.0 里头,成员变数的使用方式并不等同於 property。
property 的语法基本上是帮你把 getter 与 setter 写完,所以,
self.myOutlet = nil 的意思是
- (void)setMyOutlet:(id)tmp
{
[myOutlet release];
myOutlet = [tmp retain]; // 如果 property 是设成 retain
}
[self setMyOutlet:nil];
而 [self.myOutlet release] 则是:
- (id)myOutlet
{
return myOutlet;
}
id tmp = [self myOutlet];
[tmp release];
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.42.194.167
1F:→ uranusjr:其实我建议如果没 garbage collector 能用, 又还没成为 08/04 23:33
2F:→ uranusjr:记忆体管理大师, 那手动写 getter setter 会比较好... 08/04 23:33
3F:→ uranusjr:不是会不会写错的问题, 是这样比较容易知道自己在干什麽 08/04 23:34
4F:→ uranusjr:点运算子和 @property 对更有经验的人比较有帮助 08/04 23:35