我有:
MyWindowController.h
MyWindowController.m
HistoryController.h
HistoryController.m
在 MyWindowController.h 中,有:
IBOutlet NSPanel* viewInvoice;
后来:
- (IBAction)viewInvoice:(NSNumber *)invoiceNumber;
我想在整个程序中使用这个面板。在我的 HistoryController.m 中,有:
- (IBAction)viewSelectedInvoice:(id)sender{
id viewInvoiceObject = [[MyWindowController alloc] init];
[viewInvoiceObject viewInvoice:[NSNumber numberWithInt:1]];
[viewInvoiceObject release];
}
现在我可以成功访问该方法(一些 NSLog 调用验证了这一点),但我根本无法真正让 NSPanel 出现。这是那里的一些代码:
- (IBAction)viewInvoice:(NSNumber *)invoiceNumber {
[viewSelectedInvoicePanel makeKeyAndOrderFront:viewSelectedInvoicePanel];
}
如果我将我的历史视图中的按钮链接到 FirstResponder 操作“viewInvoice”,我可以弹出面板,但是我似乎无法通过参数(即发票号)发送。