我正在从JSON Web服务获取此数据
List ARRAY: ( { assets = ( { identity = 34DL3611; systemId = 544507; }, { identity = 34GF0512; systemId = 5290211; }, { identity = 34HH1734; systemId = 111463609; }, { identity = 34HH1736; systemId = 111463622; }, { identity = 34YCJ15; systemId = 294151155; } ); identity = DEMO; systemId = 4921244; })
通过使用以下代码:
NSArray *list =[NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error]; NSLog(@"Response data: %@", responseString); NSLog(@"List ARRAY: %@", list); NSDictionary *dict = [list objectAtIndex: 0]; NSMutableArray *vehicleGroups = [dict objectForKey:@"identity"]; NSLog(@"Vehicle Groups: %@", vehicleGroups);
这是我正在使用的选择器代码:
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{ return 1;} - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent :(NSInteger)component { return [vehicleGroups count];} -(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{return nil;} -(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{ }
应用程序崩溃了
return [vehicleGroups count];
委托方法numberOfRowsInComponent的pickerView。我不明白-为什么我要面对这个问题?
numberOfRowsInComponent
pickerView
//码////
NSArray *list =[NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error]; NSLog(@"Response data: %@", responseString); NSLog(@"List ARRAY: %@", list); NSDictionary *dict = [list objectAtIndex: 0]; vehicleList = [dict objectForKey: @"assets"]; self.vehicleGroups = [[NSMutableArray alloc] init]; vehicleGroups = [dict objectForKey:@"identity"]; NSLog(@"Vehicle Groups: %@", vehicleGroups); NSString *identity = [dict objectForKey: @"identity"]; NSString *systemid = [dict objectForKey:@"systemId"]; self.listVehicles = [[NSMutableArray alloc] init]; self.listVehiclesID =[[NSMutableArray alloc]init]; NSLog(@"GroupOfVehicles: %@", groupOfVehicles); for (NSUInteger index = 0; index < [vehicleList count]; index++) { itemDict = [vehicleList objectAtIndex: index]; [self.listVehicles addObject:[itemDict objectForKey:@"identity"]]; [self.listVehiclesID addObject:[itemDict objectForKey:@"systemId"]]; } NSLog(@"Group Name: %@", identity); NSLog(@"Assets: %@", listVehicles); NSLog(@"Assets System ID: %@", listVehiclesID); NSLog(@"GroupSystemID: %@", systemid);
回答我自己的问题可以指导其他人是否遇到相同的问题,实际上,我在这里所做的工作是获取所需的标识数组:DEMO如下:
vehicleGroups =[NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error]; NSLog(@"Response data: %@", responseString); NSLog(@"List ARRAY: %@", vehicleGroups); NSDictionary *dict1 = [vehicleGroups objectAtIndex: 0]; NSString *identity1 = [dict objectForKey: @"identity"]; NSLog(@"dictNEW: %@", dict1); groupOfVehicles = [[NSMutableArray alloc] init]; for (NSUInteger index = 0; index < [vehicleGroups count]; index++) { itemDict = [vehicleGroups objectAtIndex: index]; [groupOfVehicles addObject:[itemDict objectForKey:@"identity"]]; } NSLog(@"Group Name NEW: %@", identity1); NSLog(@"Groups NEW: %@", groupOfVehicles);
使用该代码后,我已正确获取所需数据的数组