如何在数组中存储NSDictionary值


    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];
NSDictionary *dictOne = [results objectAtIndex:0];
appDelegate.books = [[NSMutableArray alloc] init];
NSArray *activitiesArray = [dictOne objectForKey:@"events"];
NSDictionary *dictTwo = [activitiesArray objectAtIndex:0];
NSLog(@"%@ - %@", [dictOne objectForKey:@"date"]);
NSLog(@"%@ - %@", [dictTwo objectForKey:@"affectedDate"]);

我想将这两个NSDictionary值存储在一个数组中

NSMutableArray *dictArray = [NSMutableArray alloc] init];
[dictArray addObject:dictOne];
[dictArray addObject:dictTwo];

如果你想把它插入到特定的索引..

[dictArray insertObject:dictOne atIndex:0];
[dictArray insertObject:dictTwo atIndex:1];

参考这个链接…NSMutableArray类参考

一个更短但同样有效的选项是:

NSMutableArray *dictArray = [NSMutableArray alloc] initWithObjects: dictOne, dictTwo, nil];

这段代码将初始化数组,dictOne在位置0,dictwo在位置1。最后的nil是用来告诉objective-c编译器这个参数列表已经完成了。如果您尝试请求位置2上的物品,您将得到一个错误。

PS:如果你不打算从数组中添加或删除项,你也可以使用NSArray.

最新更新