iOS5 / xCode使用json文件设置一个数组,以便以后使用

时间:2012-01-30 17:03:17

标签: json ios5 nsmutablearray

我在viewDidLoad上运行以下代码:

  NSString *json_list = [[NSBundle mainBundle] pathForResource:@"mylist" ofType:@"json"];
NSData *theList   =   [NSData dataWithContentsOfFile: json_list];
NSInputStream *listStream = [[NSInputStream alloc] initWithData:theList];
[listStream open];

if (showStream) {
    NSError *parseError = nil;
    id jsonObject = [NSJSONSerialization JSONObjectWithStream:listStream options:NSJSONReadingAllowFragments error:&parseError];        
    if ([jsonObject respondsToSelector:@selector(objectForKey:)]) {
        for (NSDictionary *firstItem in [jsonObject objectForKey:@"list"]) {
            NSLog(@"Title: %@", [firstItem objectForKey:@"title"]);
        }
    }
} else {
    NSLog(@"Failed to open stream.");
}

一切都还可以,但是我想将这些信息存储到一个数组中,这样我以后可以在这个视图中使用,但是我已经有了各种数组方法可变等等,但似乎已经陷入了这个部分它:

理想情况下,而不是NSLog位:

   NSLog(@"Title: %@", [firstItem objectForKey:@"title"]);

这是我可能会将它添加到数组中的位置,但是我怎样才能在以后使用它?

由于

1 个答案:

答案 0 :(得分:1)

如下:

if ([jsonObject respondsToSelector:@selector(objectForKey:)]) {

    self.titleArray = [NSMutableArray array];

    for (NSDictionary *firstItem in [jsonObject objectForKey:@"list"]) {
        NSString *title = [firstItem objectForKey:@"title"];
        [self.titleArray addObject:title];
    }
}

其中titleArray是.h文件中声明的属性。