我有一个AppController类,通常负责我的应用程序的视图/控制。
在IB中,我的应用程序主窗口上有一个按钮,它会导致AppController实例化一个新的窗口控制器(accountPanelController)并显示该次要窗口:
- (IBAction) showAccountPanel:(id) sender
{
//Is accountController nil?
if (!accountPanelController) {
accountPanelController = [[AccountPanelController alloc] init];
}
[accountPanelController showWindow:self];
}
当新窗口完成后,我想将从我的次级窗口控制器收集的数据发送到AppController中的一个方法:
- (IBAction) close: (id) sender
{
NSLog(@"Close detected");
[AppController addAccount:0];
[self close];
}
然而,当我尝试从新窗口控制器调用AppController中的addAccount方法时,我会收到“'AppController' may not respond to '+addAccount'”警告。
这似乎与AppController是一个类而不是对象实例有关,因为在AppController中的方法被称为-addAccount(而不是警告中报告的+addAccount)。确实,如果我将目标方法的名称更改为+addAccount而不是-addAccount,则不会出现警告(但程序在执行时会崩溃)。
考虑到我实际上并没有自己实例化AppController(我猜这在NIB初始化期间发生了),有人有任何想法如何将数据发送到AppController方法吗?通知似乎过于复杂...
非常感谢。