Ja ich habe mich einfach mal dazu entschlossen folgendes Design zu wählen.
Ich habe einen WindowController als HauptController für alle Fenster und alle weiteren Controller. Rufe ich jetzt z.B. ein Controller für ne TableView auf oder einem DialogFenster, überschreibe ich in dem entsprechenden Controller den Delegate und verlange dass dieses Delegate mein eigenes CustomProtocol "MyBlaBlaDelegate" implementiert. Im IB verlinke ich dann den Delegate des neuen Controller mit dem HauptController.#
Das eigene Protocol enthält dann halt die notwendigen Methoden wie z.B. - (void) displayError

NSError*)error; Tritt ein Fehler in dem neuen Controller auf, schick ich dem Delegate (HauptController) eine Message displayError mt dem entsprechenden Error der aufgetreten ist (die Message kann von dem Delegate ja auf jedenfall bearbeitet werden, dass das Delegate ja das eigene Protocol unterstützen muss) und der HauptController kennt ja alle Fenster und Controller und der zeigt den Fehler als Sheet an.
Keine Ahnung, ob man das besser lösen kann, aber für meine Zwecke funktioniert das erstmal. Oder habt ihr da noch bessere Vorschläge?
Gruß
MasterOP22