在CS193p過程中,他們說,在init方法應該有一個if語句來檢查[super init]
作品:爲什麼把[super init]放在if語句中,因爲返回是否爲零,我們仍然返回它?
if (self = [super init]) {
self.someProperty = parameter;
}
return self;
我不明白爲什麼這樣做,因爲如果[super init]
返回nil,無論if語句的結果如何,該方法本身也將返回nil?
編輯:問題是;爲什麼把self = [super init]
放在if語句中。 (不是:爲什麼要有self = [super init]
)
'[[super alloc] init]'沒有意義。您需要'[super init]'。 – 2011-02-23 22:25:07
可能重複的[爲什麼我應該調用self = \ [super init \]](http://stackoverflow.com/questions/2956943/why-should-i-call-self-super-init) – 2011-02-23 22:26:41
是的,對不起,我直接將它輸入到stackoverflow。我的問題是爲什麼把它放在一個if語句中,與你連接的問題不同,爲什麼要這麼做,所以請取消你的投票結束。 – 2011-02-23 22:29:33