我对 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);
它返回
number w index 170413600, 2
我需要将 2 的整数转换为数字 2,以及将所有其他数字转换为正确的数字...谁能告诉我为什么要进行此转换?我尝试阅读 NSNumber
手册,但什么也没找到
最佳答案
尝试:
NSLog(@"number w index %@, %d",[NSNumber numberWithInteger:index],index);
^^
%@
格式说明符将调用 [NSNumber description]
方法,该方法应返回您想要的值。您的原始代码将返回 NSNumber
对象的地址,而不是其内容。
关于objective-c - NSNumber 返回与原始 int 不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16632871/