私が気に入っているのは、データのダウンロードが完了するまで待ってから、開いTableView
て表示することdata
です。
私が持っているもの:がprepareForSegue
呼び出されると、ダウンロードTableView
を待たずにすぐに開きます(正しく実装されていない可能性があります)。data
completionBlock
注:TableView
戻ってもう一度開くと、 data
.
- (void)fetchEntries
{
void (^completionBlock) (NSArray *array, NSError *err) = ^(NSArray *array, NSError *err)
{
if (!err)
{
self.articlesArray = [NSArray array];
self.articlesArray = array;
}
};
[[Store sharedStore] fetchArticlesWithCompletion:completionBlock];
}
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
[self fetchEntries];
if ([[segue identifier] isEqualToString:@"ShowArticles"])
{
TableVC *tbc = segue.destinationViewController;
tbc.articlesArrayInTableVC = self.articlesArray;
}
}
Store.m
- (void)fetchArticlesWithCompletion:(void (^) (NSArray *channelObjectFromStore, NSError *errFromStore))blockFromStore
{
NSString *requestString = [API getLatestArticles];
NSURL *url = [NSURL URLWithString:requestString];
NSURLRequest *req = [NSURLRequest requestWithURL:url];
Connection *connection = [[Connection alloc] initWithRequest:req];
[connection setCompletionBlockInConnection:blockFromStore];
[connection start];
}