objective-c - 无法从 Objective C 中的单独 NSWindow 执行 NSPanel 中的方法
问题描述
我有一个 MacOS Objective C 项目,它有一个父 NSWindow 和一个 NSPanel,其中包含一个 TableView,其委托和数据源是一个名为 TableController 的类。通过从另一个项目中剪切和粘贴,将 Table Controller 放置在 MainMenu.xib 的 Objects 部分中。表控制器不会出现在显示库可见的控件中。用 TableController.m 中的数据填充 TableView 的方法在加载父表单时执行。我可以从 NSPanel 上的按钮执行这些方法,[MetadataView reloadData];
其中 MetadataView 是 NSPanel 上的 TableView 控件的出口,定义为@property (weak) IBOutlet NSTableView *MetadataView;
通过 ctrl 将 TableView 拖动到 TableController.h 中。
如果我尝试将包含 reloadData 命令的方法设置为类级别而不是实例级别(前缀 + 而不是 -)以允许从父表单访问,我会收到错误“在类方法中访问的实例变量“MetadataView”。
如何通过单击父窗口的按钮来执行包含 reloadData 命令的方法?
解决方案
推荐阅读
- python - 使用“dr=webdriver.phantomjs()”时如何修复“TypeError: 'module' object is not callable”?
- wordpress - 如何设置 virtualmin 以使用 cloudflare
- php - 打开站点时出现错误 404,httpd.conf?
- docker - 如何使用 --link 命令将您的 pytest 容器连接到在同一台 docker 机器上运行的 appium 容器
- python - 如何使用实例激活 __str__ dunder 方法并修复错误:“__str__ 返回非字符串(类型 NoneType)”
- python - 在 Django 模型中保存处理后的数据?
- php - PHP getopt $longopts - 必需 + 布尔值
- r - 哪种图表类型可以显示 8 个分数以及每个分数子集的平均值?
- azure - 使用合作伙伴组织的 Azure AD 角色
- javascript - 试图让大头针在我的鼠标之后移动