Ich habe eine AppController-Klasse, die nach Ansicht/Control in meiner App in der üblichen Weise aussieht.
Es gibt eine Schaltfläche auf meiner App Hauptfenster in IB, die AppController veranlasst, ein neues Fenster Controller (accountPanelController) zu instanziieren und zeigen, dass sekundäre Fenster:
- (IBAction) showAccountPanel:(id) sender
{
//Is accountController nil?
if (!accountPanelController) {
accountPanelController = [[AccountPanelController alloc] init];
}
[accountPanelController showWindow:self];
}
Wenn das neue Fenster fertig ist, möchte ich die von meinem sekundären Fenster-Controller gesammelten Daten an eine Methode im AppController senden:
- (IBAction) close: (id) sender
{
NSLog(@"Close detected");
[AppController addAccount:0];
[self close];
}
Wenn ich jedoch versuche, die addAccount-Methode in AppController vom neuen Fenster-Controller aus aufzurufen, erhalte ich eine Warnung "'AppController' reagiert möglicherweise nicht auf '+addAccount'".
Dies scheint damit zusammenzuhängen, dass AppController eher eine Klasse als eine Objektinstanziierung ist, da die Methode in AppController -addAccount heißt (und nicht +addAccount, wie in der Warnung angegeben). Wenn ich den Namen der Zielmethode in +addAccount anstelle von -addAccount ändere, wird die Warnung nicht angezeigt (aber das Programm stürzt bei der Ausführung ab).
Angesichts der Tatsache, dass ich nicht tatsächlich AppController selbst instanziieren (ich schätze, dass irgendwie während NIB-Initiation geschieht), hat jemand Ideen, wie ich die Daten an die AppController-Methode senden kann? Benachrichtigungen scheinen wie Overkill...
Vielen Dank!