要するに、次のようなものです:
// Schedule a timer repeating every 2 seconds
[NSTimer scheduledTimerWithTimeInterval:2.0
target:self.tableView
selector:@selector(reloadData)
userInfo:nil
repeats:YES];
より長いバージョン:
タイマーから -doParse を呼び出し、データをフェッチし、解析を行い、データをリロードする必要があります。
メイン スレッドをブロックしないためには、メイン スレッドから呼び出してはなりません[[NSXMLParser alloc] initWithContentsOfURL:theURL]
。
その代わり:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
NSXMLParser *nsXmlParser = [[NSXMLParser alloc] initWithContentsOfURL:theURL];
...
// finish parsing
dispatch_async(dispatch_get_main_queue(), ^{
[tableView reloadData];
});
});
-doParse
-viewDidLoad から NSTimer を呼び出します。
[NSTimer scheduledTimerWithTimeInterval:2.0
target:self
selector:@selector(doParse)
userInfo:nil
repeats:YES];
詳細情報: WWDC 2012 セッション 211 - iOS での同時ユーザー インターフェイスの構築。