我對Objective-C很新穎,我試圖將int轉換爲NSNumber,以便將其保存到Core-Data中。NSNumber返回不同於原始值的int
我已經下面的代碼段(索引是一個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的int被翻譯成一個數2連同所有其他數字將被翻譯成正確的數字...有誰能告訴我爲什麼我得到這個轉換?我試着閱讀NSNumber
手冊,但我沒有發現任何
首先是在'NSNumber'的_pointer_,而不是由它的價值,嘗試改爲:'[[NSNumber的numberWithInteger:指數] integerValue]',你會得到相同的整數爲'index'是。 – holex
順便說一句 - Xcode和編譯器應該給你一些警告,告訴你'%d'不適合'NSNumber'參數。 – rmaddy