解析值显示iphone中的错误
现在,当我在displayonttable视图中使用这个数据时,它会在所有单元格上显示testRow,但我需要单元格文本上的位置,以及来自JSON的详细文本中的市政信息,所以如何进行更改 [行添加对象:@“testRow”]; 到 [rows addObject:[eventDict objectForKey:@“位置”] 我建议您创建一个带有必要属性的事件类,比如位置、城市。然后你可以做:解析值显示iphone中的错误,iphone,objective-c,Iphone,Objective C,现在,当我在displayonttable视图中使用这个数据时,它会在所有单元格上显示testRow,但我需要单元格文本上的位置,以及来自JSON的详细文本中的市政信息,所以如何进行更改 [行添加对象:@“testRow”]; 到 [rows addObject:[eventDict objectForKey:@“位置”] 我建议您创建一个带有必要属性的事件类,比如位置、城市。然后你可以做: SBJsonParser *parser= [[SBJsonParser alloc] init];
SBJsonParser *parser= [[SBJsonParser alloc] init];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.krsconnect.no/community/api.html?method=bareListEventsByCategory&appid=620&category-selected=350&counties-selected=Vest-Agder,Aust-Agder"]];
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *json_string = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];
//NSDictionary *object = [parser objectWithString:json_string error:nil];
NSArray *results = [parser objectWithString:json_string error:nil];
NSMutableArray *data = [NSMutableArray array]
self.data = data;
// check that what we've parsed is NSArray
if (results && [results isKindOfClass:[NSArray class]]) {
for (NSDictionary *sectionDict in results) {
if ([sectionDict isKindOfClass:[NSDictionary class]]) {
NSString *sectionTitle = [[sectionDict objectForKey:@"date"] description];
NSArray *events = [sectionDict objectForKey:@"events"];
if (date && events && [events isKindOfClass:[NSArray class]]) {
NSMutableArray *rows = [NSMutableArray arrayWithCapacity:[events count]];
for (NSDictionary *eventDict in events) {
if ([eventDict isKindOfClass:[NSDictionary class]]) {
[rows addObject:@"testRow"];
}
}
[data addObject:[NSDictionary dictionaryWithObjectsAndKeys: sectionTitle, @"section", rows, @"rows", nil]];
}
}
}
}
然后您可以使用控制器中的行。更改
[行添加对象:@“testRow”];
到
[rows addObject:[eventDict objectForKey:@“位置”]
我建议您创建一个带有必要属性的事件类,比如位置、城市。然后你可以做:
SBJsonParser *parser= [[SBJsonParser alloc] init];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.krsconnect.no/community/api.html?method=bareListEventsByCategory&appid=620&category-selected=350&counties-selected=Vest-Agder,Aust-Agder"]];
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *json_string = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];
//NSDictionary *object = [parser objectWithString:json_string error:nil];
NSArray *results = [parser objectWithString:json_string error:nil];
NSMutableArray *data = [NSMutableArray array]
self.data = data;
// check that what we've parsed is NSArray
if (results && [results isKindOfClass:[NSArray class]]) {
for (NSDictionary *sectionDict in results) {
if ([sectionDict isKindOfClass:[NSDictionary class]]) {
NSString *sectionTitle = [[sectionDict objectForKey:@"date"] description];
NSArray *events = [sectionDict objectForKey:@"events"];
if (date && events && [events isKindOfClass:[NSArray class]]) {
NSMutableArray *rows = [NSMutableArray arrayWithCapacity:[events count]];
for (NSDictionary *eventDict in events) {
if ([eventDict isKindOfClass:[NSDictionary class]]) {
[rows addObject:@"testRow"];
}
}
[data addObject:[NSDictionary dictionaryWithObjectsAndKeys: sectionTitle, @"section", rows, @"rows", nil]];
}
}
}
}
然后,您可以使用控制器中的行。我这样做,但它显示所有的nill值,并由于未捕获的异常“NSRangeException”而导致异常终止应用程序,原因:'***-[NSCFArray objectAtIndex:::]:索引(76931520)超出边界(7)'我是这样做的,但它显示了所有的nill值,并给出了由于未捕获异常'NSRangeException'而终止应用程序的异常,原因:'***-[NSCFArray objectAtIndex::]:索引(76931520)超出边界(7)'