“rowNumber”的记录如下: 79050688 。 “rowNumberAsInt”被记录为 16 下的数字。如何正确转换我的int?
-(int)randomNumberGenerator{
int rowNumberAsInt;
NSNumber *rowNumber;
randomNumberPool = [[NSMutableArray alloc]initWithCapacity:16];
while (![randomNumberPool containsObject:rowNumber]) {
rowNumberAsInt = (arc4random() % 16);
rowNumber = [NSNumber numberWithInt:rowNumberAsInt];
[randomNumberPool addObject:rowNumber];
}
NSLog(@"random rowNumber: %d ", rowNumber);
NSLog(@"random rowNumberAsInt: %d ", rowNumberAsInt);
return rowNumberAsInt;
}
最佳答案
您不能像打印int那样打印NSNumber,因为它不是int,而是包装了int的对象。请改用%@格式说明符:
NSLog(@"random rowNumber: %@ ", rowNumber);
或使用intValue方法:
NSLog(@"random rowNumber: %d ", [rowNumber intValue]);
关于objective-c - 试图将整数转换为NSNumber-改为获取奇怪的数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12443476/