我想创建一个的NSArray填充的NSDictionary的和在控制台打印所有数组元素的所述第一值。[__NSArrayM objectAtIndex:]:索引2超出范围[0..1]”
我收到以下错误:
Terminating app due to uncaught exception 'NSRangeException', reason:' -[__NSArrayM objectAtIndex:]: index 2 beyond bounds [0 .. 1]' * First throw call stack: (0x30d77e83 0x3b0d46c7 0x30cadd95 0xb93b3 0xb8e03 0x3175ccdd 0x30d42e7f 0x30d42a9b 0x30d40e23 0x30cab471 0x30cab253 0x359e52eb 0x33560845 0xb8abd 0x3b5cdab7)
libc++abi.dylib: terminating with uncaught exception of type NSException
-(void) listOp {
NSDictionary *dictionary;
NSMutableArray *array;
NSNumber *refNum;
int numOp = [_refNum intValue];
self.array = [NSMutableArray arrayWithObjects: self.dictionary, nil];
for (int i = 0; i < numOp; i++){
[self.array insertObject:self.dictionary atIndex:i];
NSDictionary* vardebug = nil;
vardebug = [self.array objectAtIndex:numOp];
NSString *valuekey = [self.dictionary valueForKey: @"key"];
NSLog(@"Valuekey is: %@", valuekey);
}
}
不明白什么错误。
假设numOp = 5。 在for循环的第一次迭代中,self.array在索引5处没有对象(当您想要获取vardebug时),它只有2个对象。 – Larme
你想要做什么? – bsarr007