NSNumber返回的值不同于原始int

Jon*_*rft 2 objective-c

我对objective-c很新,我正在尝试将int转换为NSNumber,以便将其保存到Core-Data中.

我有以下一段代码(索引是一个NSInteger)

- (void) associateOrNotToARoutine:(NSString*)exerciseName associate:(BOOL)associate index:(NSInteger)index

NSLog(@"number w index %d, %d",[NSNumber numberWithInteger:index],index);
Run Code Online (Sandbox Code Playgroud)

然后它回来了

number w index 170413600, 2
Run Code Online (Sandbox Code Playgroud)

我需要一个2的int被翻译成数字2以及所有其他数字被翻译成正确的数字......有谁能告诉我为什么我得到这个转换?我尝试阅读NSNumber手册,但我一无所获

tro*_*foe 8

尝试:

NSLog(@"number w index %@, %d",[NSNumber numberWithInteger:index],index);
                       ^^
Run Code Online (Sandbox Code Playgroud)

%@格式说明会调用该[NSNumber description]方法,它应该回到你后的值.您的原始代码将返回NSNumber对象的地址,而不是其内容.