数组下标不是整数iOS

时间:2016-03-03 23:02:07

标签: ios objective-c

我有这个json

{"success":true,"content":{"Estados":[{"NombreEstado: ":"Distrito Federal","ExtensionGeografica: ":"16 km"},{"NombreEstado: ":"Aguascalientes","ExtensionGeografica: ":"14 km"},{"NombreEstado: ":"Baja California","ExtensionGeografica: ":"15 km"},{"NombreEstado: ":"Baja California Sur","ExtensionGeografica: ":"19 km"},{"NombreEstado: ":"Campeche","ExtensionGeografica: ":"8 km"},{"NombreEstado: ":"Coahuila de Zaragoza","ExtensionGeografica: ":"20 km"},{"NombreEstado: ":"Colima","ExtensionGeografica: ":"6 km"},{"NombreEstado: ":"Chiapas","ExtensionGeografica: ":"7 km"},{"NombreEstado: ":"Chihuahua","ExtensionGeografica: ":"9 km"},{"NombreEstado: ":"Durango","ExtensionGeografica: ":"7 km"},{"NombreEstado: ":"Guanajuato","ExtensionGeografica: ":"10 km"},{"NombreEstado: ":"Guerrero","ExtensionGeografica: ":"8 km"},{"NombreEstado: ":"Hidalgo","ExtensionGeografica: ":"7 km"},{"NombreEstado: ":"Jalisco","ExtensionGeografica: ":"7 km"},{"NombreEstado: ":"M\u00e9xico","ExtensionGeografica: ":"7 km"},{"NombreEstado: ":"Michoac\u00e1n de Ocampo","ExtensionGeografica: ":"20 km"},{"NombreEstado: ":"Morelos","ExtensionGeografica: ":"7 km"},{"NombreEstado: ":"Nayarit","ExtensionGeografica: ":"7 km"},{"NombreEstado: ":"Nuevo Le\u00f3n","ExtensionGeografica: ":"11 km"},{"NombreEstado: ":"Oaxaca","ExtensionGeografica: ":"6 km"},{"NombreEstado: ":"Puebla","ExtensionGeografica: ":"6 km"},{"NombreEstado: ":"Quer\u00e9taro","ExtensionGeografica: ":"10 km"},{"NombreEstado: ":"Quintana Roo","ExtensionGeografica: ":"12 km"},{"NombreEstado: ":"San Luis Potos\u00ed","ExtensionGeografica: ":"16 km"},{"NombreEstado: ":"Sinaloa","ExtensionGeografica: ":"7 km"},{"NombreEstado: ":"Sonora","ExtensionGeografica: ":"6 km"},{"NombreEstado: ":"Tabasco","ExtensionGeografica: ":"7 km"},{"NombreEstado: ":"Tamaulipas","ExtensionGeografica: ":"10 km"},{"NombreEstado: ":"Tlaxcala","ExtensionGeografica: ":"8 km"},{"NombreEstado: ":"Veracruz de Ignacio de la Llave","ExtensionGeografica: ":"31 km"},{"NombreEstado: ":"Yucat\u00e1n","ExtensionGeografica: ":"8 km"},{"NombreEstado: ":"Zacatecas","ExtensionGeografica: ":"9 km"}]},"generated":"2016-03-03"}

这是我的班级,我不知道我在解析时是错了什么

NSDictionary * content = self.dictionary[@"content"];
                NSDictionary * states = content [@"Estados"];
                for (NSDictionary * dic in states ) {
                    [self.extension addObject:dict [@"ExtensionGeografica"]];
                    [self.extension addObject:dict [@"NombreEstado"]];
                }

                [self.tableView reloadData];
            }
     }];
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

    return [self.states count];
}

编辑1

我修复第一个问题,看看它的外观,我认为数组的问题是有效的,

NSDictionary * content = self.dictionary[@"content"];
            NSMutableArray * states = content [@"Estados"];
            for (NSDictionary* dic in states ) {
                [self.extension addObject:dic [@"ExtensionGeografica"]];
                [self.extension addObject:dic [@"NombreEstado"]];
            }

            [self.tableView reloadData];
        }

现在它不会在我的Cell中显示信息

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

return [self.dic count];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *simpleTableIdentifier = @"SimpleTableCell";

    SimpleTableCell *cell = (SimpleTableCell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
    if (cell == nil)
    {
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"SimpleTableCell" owner:self options:nil];
        cell = [nib objectAtIndex:0];
    }

    cell.stateName.text = [self.states objectAtIndex:indexPath.row];

    return cell;
}

0 个答案:

没有答案