作者angelyin (等待.微笑)
看板MacDev
标题Re: [问题][更正]关於使用autorelease或直接使用re …
时间Sat Jul 18 22:19:16 2009
※ 引述《atst2 (atst2)》之铭言:
: 一般在dealloc内做的事情:
: - (void)dealloc
: {
: if(_A) {
: [_A release]; //这里要注意,要释放object内的变数,不可以用dealloc,
: //更明确一点,开发者应避免直接呼叫dealloc,
: //而是使用release代替。
: }
: //....释放其他资源.
: [super dealloc];
: }
我在使用xcode建立专案时
我在AppDelegate.h里面看到他自动帮我建立了
-(void)dealloc
{
[abc release];
[super dealloc];
}
dealloc是在reference count归零时
系统会自动呼叫的
那如果我删掉上述这几行
那dealloc还会有作用吗?
如果有
那似乎就不需要写在程式了?
还是有什麽情况是必须要写?
有的时候可以不用写?
不好意思 问题很多 ^^"
谢谢各位
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.210.169
1F:推 Blueshiva:假如你自己建立的类别中,有以指标储存的成员,就应该要 07/18 22:21
2F:→ Blueshiva:实作dealloc,然後把所有的成员realease掉,最後呼叫父 07/18 22:21
3F:→ Blueshiva:类别的dealloc ie. [super dealloc] 07/18 22:22
4F:→ Blueshiva:其实dealloc就是C++中的destructor,这样应该就很好理解 07/18 22:24