我真的和代碼混淆了,我的問題是爲什麼我在釋放後獲得變量的值。發佈NSInteger類型變量
NSNumber *a=[[NSNumber alloc]initWithInt:2];
NSNumber *b=[[NSNumber alloc]initWithInt:3];
b=a;
[a release];
[b release];
NSLog(@"a=%@",a);
NSLog(@"b=%@",b);
OUTPUT:A = 2 B = 2時,我分配veriables
1保留計數的增量,我沒有其他的代碼,其中保留計數increments.So我的問題是釋放消息後保留計數將爲0,並且對象將被釋放,我不應該得到該值。 ///////////////////////////////////////////////// ///////////////// 大家好,我找到了答案,但它背後的邏輯不清楚,如果我把整數之後的「我」給它所需的輸出請你幫忙。
NSNumber *a=[[NSNumber alloc]initWithInt:2I];
NSNumber *b=[[NSNumber alloc]initWithInt:3I];
b=a;
[a release];
[b release];
NSLog(@"a=%@",a);
NSLog(@"b=%@",b);
OUTPUT:A = 0 B = 0
因爲您沒有使用搜索。 (這是***昨天問的。)另外,我在這裏看不到'NSInteger'。 (不是說你可以發佈'NSInteger',但是stil ...) – 2013-08-07 05:18:27
[confused about ios release&dealloc]可能的重複(http://stackoverflow.com/questions/18080139/confused-about-ios-release- dealloc) – borrrden
你可能會發現重複,因爲我仍然感到困惑。 – Parinita