dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(queue, ^{
NSError *error = nil;
NSURL *urlRequest = [NSURL URLWithString:[NSString stringWithFormat:@"...", URL]];
NSString *json = [NSString stringWithContentsOfURL:urlRequest
encoding:NSASCIIStringEncoding
error:&error];
JKParseOptionFlags options = JKParseOptionStrict;
NSDictionary *results = [json objectFromJSONStringWithParseOptions:options];
NSString *body = [[results objectForKey:@"item"] objectForKey:@"description"];
Article *article = [[Article alloc] initWithTitle:title URL:URL body:body];
[self.articles insertObject:article atIndex:0];
});
そのすぐ外にありますが、その直後[self.tableView reloadData];
に呼び出すと0が返されます.なぜ追加しないのですか? NSLog(@"%d", self.articles.count);
記事の body プロパティにアクセスするそのブロック内で NSLog を呼び出すと、それが出力されるため、オブジェクトは一見問題なく作成されます。はい、これが含まれているメソッドは呼び出されます (viewDidLoad によって)。