提问人:SimonKravis 提问时间:9/9/2021 最后编辑:CœurSimonKravis 更新时间:5/9/2022 访问量:42
无法从 Objective-C 中的单独 NSWindow 在 NSPanel 中执行方法
Cannot execute method in an NSPanel from a separate NSWindow in Objective-C
问:
我有一个 MacOS Objective-C 项目,其父级为 NSWindow,NSPanel 包含一个 TableView,其委托和数据源是一个名为 TableController 的类。通过从另一个项目剪切和粘贴,将表控制器放置在 MainMenu.xib 的 Objects 部分。“表控制器”不会出现在“显示库”可见的控件中。在加载父窗体时,将执行使用 TableController.m 中的数据填充 TableView 的方法。我能够从 NSPanel 上的一个按钮执行这些方法,其中 MetadataView 是 NSPanel 上 TableView 控件的出口,定义为通过按住 ctrl 将 TableView 拖动到 TableController.h 中。[MetadataView reloadData];
@property (weak) IBOutlet NSTableView *MetadataView;
如果我尝试使包含 reloadData 命令的方法成为类级而不是实例级(前缀 + 而不是 -)以允许从父窗体访问,我会收到错误“实例变量”MetadataView“在类方法中访问。
如何使包含reloadData命令的方法从父窗口上的按钮单击执行?
答: 暂无答案
评论
TableController
MetadataView
@interface TableController : NSObject <NSTableViewDataSource, NSTableViewDelegate>
@end