在我的应用程序中,我正在发出HTTP请求并等待并使用数据更新我的RootViewController。问题是,我需要在数据收集完成后调用[tableView reloadData],因为现在看来tableview将部分填充或根本不填充。我遇到了这个帖子:
Passing an NSDictionary to a ViewController from AppDelegate
其中包括这个解决方案,用于在app delegate中设置视图控制器中的数据,但我想知道如何根据我的情况调整这个?我想,我只需要在appDelegate中引用rootViewController,这样我就可以在需要时调用reloadData
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil tableDataSource:(NSArray*)tableData {
if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
// Custom initialization
tableDataArray = [tableData retain];
}
return self;
}
感谢您的任何想法
答案 0 :(得分:1)
将tableView
声明为该类中的myTableView
等属性。现在引用该类并调用[classObject.myTableView reloadData];
它应该工作。
答案 1 :(得分:1)
您可以为appDelegate提供一个属性,该属性接收一个指向RootViewController的指针,该属性在初始化时由RootViewController设置。
- (id)initWithNibName:(NSString *)nibNameOrNil
bundle:(NSBundle *)nibBundleOrNil
tableDataSource:(NSArray*)tableData
{
if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])
{
// Custom initialization
tableDataArray = [tableData retain];
(MyAppDelegate *)([[UIApplication sharedApplication] delegate]).rootController = self;
}
return self;
}