在頭文件中.H錯誤:EXC_BAD_ACCESS在訪問對象的retainCount
@interface MemoryAppDelegate:NSObject <UIApplicationDelegate> {
Class1 *class1_obj;
}
在執行文件的.m
@implementation Memory : (UIApplication*) application
{
NSLog(@"Retain Count of class1_obj %d",[class1_obj retainCount]); //ouput retainCount is 0
Class2 *class2_obj;
NSLog(@"Retain Count of class2_obj %d",[class2_obj retainCount]); // gives EXC_Bad_Access error
如在上述代碼中,當我在報頭聲明一個對象文件,並嘗試訪問其保留計數是給我0.但如果我聲明對象在實現文件並訪問其retainCount它引發Bad_Access。 請問你爲什麼會出現這個錯誤?
謝謝大家,現在我明白爲什麼會出現這個錯誤。 – Cathy 2011-04-26 10:34:37
請注意,retainCount永遠不會返回零。 – bbum 2011-04-26 14:24:54
@bbum,我相信在一個無對象上調用它會返回0(請參閱frenetisch applaudierend的答案)。 – Jake 2011-04-27 08:59:59