我目前正在用可可编写 SketchApp 插件。
我尝试在NSPopover那里使用 a,它应该IBAction在单击按钮时由 a 触发。问题是:弹出框没有出现,并且在检查变量时,应该保存弹出框,它是nil.
我NSPopover在 Interface Builder 中创建了,所以不是在代码中以编程方式创建的;然后在我的链接类头文件中定义一个IBOutlet绑定;最后在我的实现类中使用这个变量。
这是我的源代码:
我的组件.h
// imports skipped...
@interface
@property (nonatomic, weak) IBOutlet NSTextField *componentDescription;
@property (nonatomic, weak) IBOutlet NSTextField *componentGuid;
@property (nonatomic, weak) IBOutlet NSButton *guidCopyButton;
@property (nonatomic, weak) IBOutlet NSPopover *popover;
-(IBAction)onCopyButton_Clicked:(id)sender;
@end
我的组件.m
-(IBAction)onCopyButton_Clicked:(id)sender {
// copy stuff to clipboard
// [...]
// show copied popover
[_popover showRelativeToRect:[sender bounds]
ofView:sender
preferredEdge:NSMinYEdge];
}
在我的xib-view-file 中,我将 NSPopover-Object 链接到IBOutlet NSPopover *popover;. 但是_popover在我的类实现中检查时,它总是nil.