請參閱此代碼:推出
-(id)MethodName:arg {
// some stuff
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
// some more stuff
[dateFormatter release];
}
dateFormatter是一種方法的變量(即,不是一個實例變量;它不是在頭文件中定義)。然而,該方法正在創建一個指針並分配內存。事實證明,如果我釋放最後一行中的變量,程序崩潰,但如果不是,則工作正常。我不明白爲什麼如果我創建一個指針並分配內存,那麼不需要使用release。除此之外,我應該將dateFormatter設置爲零後使用?
那是什麼東西,是怎麼回事界定呢? – BoltClock 2011-03-05 03:06:02
你的問題可能在'//更多東西'的某處。你的代碼看起來非常好,否則。 – MusiGenesis 2011-03-05 03:11:50
爲了將來的參考,這些變量被稱爲「局部變量」(不是方法變量)。 – 2011-03-06 16:18:33