我在类“spielplan”中有一个NSTableview,我可以使用reloadData轻松重新加载,但是如何从AppDelegate.m重新加载表???
我认为,有一个简单的解决方案,但我不明白!
答案 0 :(得分:1)
简短的回答:你不应该。
您的类spielplan
(应该重命名为PMGameBoard
)可能是一个管理视图的控制器类,包括tableView。因此,该控制器有责任重新加载tableView的数据。
应用程序委托的外部事件,无论是什么,都应通过某种通知方式提供给spielplan
实例。确切的沟通方式取决于事件的类型(NSNotification
,...)。请参阅此objc.io article。
答案 1 :(得分:0)
在spielplan.h文件中创建属性或出口(取决于您是否使用了故事板),例如
@property (nonatomic, strong) IBOutlets UITableView *myTableView;
并在AppDelegate文件中获取对spielplan对象的引用并调用reload方法:
[spielplan.myTableView reloadData];
如果spielplan是UITableViewController的子类,则不必在AppDelegate调用中为表视图创建插座或属性:
[spielplan.tableView reloadData];
请记住,当您尝试从AppDelegate引用视图控制器并且视图控制器不在视图层次结构中时,它可以被取消分配,或者它尚未分配,并且调用reloadData它没有&#39有意义。