我正在尝试使用for循环将我从NSURL获取的数组添加到数组中:
(int i = 0; i < 10; i++)
使其成为二维数组。继续在NSRangeException上出错。它只能在index [0]处insertObject或addObject,当'i'增加到1时,它会抛出一个错误。它只能意味着它不会添加而是覆盖,因此当它覆盖第二次并且i = 1时,它会抛出错误。如何添加更多而不是覆盖初始化的二维数组?
- (void)qBlock{
for (int i = 0; i < 10; i++) {
NSURL *url = [NSURL URLWithString:@"http://somefiles.php"];
NSError *error;
NSStringEncoding encoding;
NSString *response = [[NSString alloc] initWithContentsOfURL:url
usedEncoding:&encoding
error:&error];
if (response) {
const char *convert = [response UTF8String];
NSString *responseString = [NSString stringWithUTF8String:convert];
NSMutableArray *sample = [responseString JSONValue];
block = [[NSMutableArray alloc]init];
[block insertObject:sample atIndex:i];
}
else {
UIAlertView *alert1 = [[UIAlertView alloc]initWithTitle:@"ALERT" message:@"Internet Connection cannot be established." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert1 show];
}
}
//Calling 10 blocks of codes
for (id obj in block) {
NSLog(@"%@",obj);
}
答案 0 :(得分:1)
此:
block = [[NSMutableArray alloc]init];
[block insertObject:sample atIndex:i];
通过for循环在每次迭代中用空数组替换整个块数组。
将块数组初始化移到for循环之外。