Ios UITableView-从单独的类重新加载数据
我搜索了很多类似的问题,但仍然找不到答案。 如何在不初始化另一个类实例的情况下引用另一个类? 如何从单独的类中调用“reloadData”以反映主运行中心的数据。 主运行中心似乎正在保存,因为我已通过NSNotification对其进行了验证 Popover类别:Ios UITableView-从单独的类重新加载数据,ios,uitableview,ios5,uipopovercontroller,reloaddata,Ios,Uitableview,Ios5,Uipopovercontroller,Reloaddata,我搜索了很多类似的问题,但仍然找不到答案。 如何在不初始化另一个类实例的情况下引用另一个类? 如何从单独的类中调用“reloadData”以反映主运行中心的数据。 主运行中心似乎正在保存,因为我已通过NSNotification对其进行了验证 Popover类别: -(void)actionSave:(id)sender { MainContent *entityContent = [NSEntityDescription insertNewObjectForEnti
-(void)actionSave:(id)sender {
MainContent *entityContent =
[NSEntityDescription insertNewObjectForEntityForName:@"MainContent"
inManagedObjectContext:self.mDoc.managedObjectContext];
entityContent.date = [NSDate date];
entityContent.title = self.titleName.text;
//Main Question: How do I call the ViewController's function that is in a separate class?
[ViewController reloadTableView]; //???
//Separate Question: How do I dismiss this popover from inside of this function?
}
ViewController类:
-(void)setupTable {
self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(gridV1, 140, column1_width, 768-170) style:UITableViewStylePlain];
[self.tableView setBackgroundColor:[UIColor clearColor]];
self.tableView.autoresizesSubviews = YES;
self.tableView.delegate = self.tableViewController;
self.tableView.dataSource = self.tableViewController;
[self.view addSubview:self.tableView];
}
-(void)reloadTableView{
[self.tableView reloadData];
}
TableViewController类:(self.tableView的委托和数据源)
就我个人而言,我使用NSNotifications,有几个事件是异步发生的,我会将通知发回 也就是说,我要做的是在背景线程上下载一张图片,并在完成后重新加载表。为此,我向tableviewclass发送通知,tableview类重新加载自己的tableview
~Dan好吧,制作一个类似于此链接中示例的单例: 然后在UITableView所在的UIViewController的单例中创建ivar。然后在UITableView视图的VDL中,执行以下操作
Singleton *singleton = [Singleton sharedSingleton];
[singleton.mytableview reloadData];
[Singleton sharedSingleton].theViewController=self代码>
然后在另一个视图中,执行以下操作
Singleton *singleton = [Singleton sharedSingleton];
[singleton.mytableview reloadData];
但是,对于(=self)行,您可能希望在更早的某个位置执行此操作,如ApplicationIDFinishLaunching,以便在尝试访问它时,ViewController变量不是nil。使用单例,这样它就不会被初始化两次。我很难将UITableView转换为单例,initWithFrame函数已丢失。。。是否有解决方法?如何将TableViewController委托给此singleton并将其数据源化?将其子类化为子类…?请看下面的答案。