NSTableView reloadData 外部类
Posted
技术标签:
【中文标题】NSTableView reloadData 外部类【英文标题】:NSTableView reloadData external class 【发布时间】:2014-01-14 15:08:30 【问题描述】:我在“spielplan”类中有一个 NSTableview,我可以使用 reloadData 轻松重新加载它,但是如何从 AppDelegate.m 重新加载表格???
我认为,有一个简单的解决方案,但我不明白!
【问题讨论】:
【参考方案1】:简短的回答:你不应该。
你的类spielplan
(应该重命名为PMGameBoard
)可能是一个管理视图的控制器类,包括tableView。所以这个控制器负责重新加载tableView的数据应该是需要的。
您的应用程序委托的外部事件,无论它是什么,都应该通过某种通知方式提供给spielplan
实例。确切的通信方法取决于事件的类型(NSNotification
,...)。看到这个objc.io article。
【讨论】:
谢谢,你省了我很多精力!【参考方案2】:在你的 spielplan.h 文件中创建属性或插座(取决于你是否使用故事板),例如
@property (nonatomic, strong) IBOutlets UITableView *myTableView;
并在 AppDelegate 文件中获取 spielplan 对象的引用并调用 reload 方法:
[spielplan.myTableView reloadData];
如果 spielplan 是 UITableViewController 的子类,则您不必在 AppDelegate 调用中为表视图创建插座或属性:
[spielplan.tableView reloadData];
请记住,当您尝试从 AppDelegate 获取对视图控制器的引用并且视图控制器不在视图层次结构中时,它可能会被释放,或者它可能尚未被分配并调用 reloadData 它没有意义.
【讨论】:
以上是关于NSTableView reloadData 外部类的主要内容,如果未能解决你的问题,请参考以下文章
NSTableView reloadData - 索引超出范围异常
NSTableView 绑定和 tableViewSelectionDidChange