我在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"]);
这是我可能会将它添加到数组中的位置,但是我怎样才能在以后使用它?
由于
答案 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文件中声明的属性。