我正在尝试将数字存储在NSMutableArray中,但是当我检查它时,我得到的只是垃圾。
-(void)storeIntoArray:(int)indexInt
{
NSNumber *indexNum = [[NSNumber alloc] initWithInt:indexInt];
[last100 insertObject:indexNum atIndex:prevCount];
prevCount++;
if(prevCount > 100)
{
prevCount = 0;
cycledOnce = YES;
}
}
-(BOOL)checkArray:(int)indexInt
{
for(int i = 0;i < [last100 count];i++)
{
NSLog(@"Stored: %d",[last100 objectAtIndex:i]);
if (indexInt == (int)[last100 objectAtIndex:i]) {
NSLog(@"Same entry, trying again");
return YES;
}
}
return NO;
}
当我检查时,我会得到像Stored: 110577680
这样的值以及各种垃圾值。
答案 0 :(得分:1)
您正在打印NSNumber对象地址,而不是其值。尝试使用intValue
。或者,如果要直接打印对象,请使用%@
而不是%d
。
答案 1 :(得分:0)
NSLog(@"Stored: %d",[last100 objectAtIndex:i]);
应该是:
NSLog(@“存储:%@”,[last100 objectAtIndex:i]);
NSNumber是一个非整数的对象。