我真的对代码感到困惑,我的问题是为什么我在发布后得到变量的值。
NSNumber *a=[[NSNumber alloc]initWithInt:2];
NSNumber *b=[[NSNumber alloc]initWithInt:3];
b=a;
[a release];
[b release];
NSLog(@"a=%@",a);
NSLog(@"b=%@",b);
输出:a=2 b=2
当我分配veriables保留计数增加1时,我没有其他保留计数增加的代码。所以我的问题是发布消息后保留计数将为0并且对象将被释放并且我不应该获得该值。///////////////////////////////////////// ////////////// 大家好,我找到了答案,但它背后的逻辑我不清楚,如果我在整数后面加上“I”,它会给出所需的输出。Will请你帮忙。
NSNumber *a=[[NSNumber alloc]initWithInt:2I];
NSNumber *b=[[NSNumber alloc]initWithInt:3I];
b=a;
[a release];
[b release];
NSLog(@"a=%@",a);
NSLog(@"b=%@",b);
输出:a=0 b=0