Hallo zusammen,
ich habe mal eine reine Designfrage. Ich entwickel gerade eine App für den Mac. Diese besteht in Prinzip aus einem Hauptfnster mit na Tabelle und na handvoll kleinerer Panel, die als Dialog oder per NSDrawer an dem Hauptfenster hängen soll.
Nun meine Frage, wenn ich z.B. in der Tabelle des Hauptfensters, welche einen eigenen ViewController besitzt, einen Eintrag selektiere und möchte damit einen Dialog aufrufen, sollte ich den Dialog direkt aus dem ViewController erzeugen und aufrufen oder macht es aus Designsicht mehr Sinn, die Aufgabe des Öffnen des Dialogs oder auch des NSAlertView an das AppDelegate zu delegieren. Oder ist das AppDelegate dafür nicht vorgesehen und man sollte lieber sein eigenes Delegate dafür anlegen.
Ein konkretes Beispiel: Ich hab eine Klasse MyDelegate, welches das Delegate und die Datasource der Tabelle im Hauptfenster ist. Ebenso hat MyDelegate ein Outlet und eine Action für einen AddButton unterhalb der Tabelle.
In der AddAction rufe ich ne Methode in eingebundenen Library auf. Ich übergeb auch ein NSError** an diese Methode, falls in der Library ein Fehler auftritt. Tritt ein Fehler auf, möchte ich ein NSAlertView im Hauptfenster anzeigen mit dem Inhalt des NSError. Nun die Frage, wo erzeuge ich das NSAlertView und zeige es an. Ich könnte aus meinem MyDelegate das AppDelegate damit beauftragen, weil es ja schon ein Outlet des Hauptfensters hat. Aber AppDelegate ist ja eine heikle Sache beim Design. Gibs saubere Ansätze für die Aufgabe?
Was ist eure Meinung als teilweise langjährige Obj-C Nutzer.
Gruß
MasterOP22
ich habe mal eine reine Designfrage. Ich entwickel gerade eine App für den Mac. Diese besteht in Prinzip aus einem Hauptfnster mit na Tabelle und na handvoll kleinerer Panel, die als Dialog oder per NSDrawer an dem Hauptfenster hängen soll.
Nun meine Frage, wenn ich z.B. in der Tabelle des Hauptfensters, welche einen eigenen ViewController besitzt, einen Eintrag selektiere und möchte damit einen Dialog aufrufen, sollte ich den Dialog direkt aus dem ViewController erzeugen und aufrufen oder macht es aus Designsicht mehr Sinn, die Aufgabe des Öffnen des Dialogs oder auch des NSAlertView an das AppDelegate zu delegieren. Oder ist das AppDelegate dafür nicht vorgesehen und man sollte lieber sein eigenes Delegate dafür anlegen.
Ein konkretes Beispiel: Ich hab eine Klasse MyDelegate, welches das Delegate und die Datasource der Tabelle im Hauptfenster ist. Ebenso hat MyDelegate ein Outlet und eine Action für einen AddButton unterhalb der Tabelle.
In der AddAction rufe ich ne Methode in eingebundenen Library auf. Ich übergeb auch ein NSError** an diese Methode, falls in der Library ein Fehler auftritt. Tritt ein Fehler auf, möchte ich ein NSAlertView im Hauptfenster anzeigen mit dem Inhalt des NSError. Nun die Frage, wo erzeuge ich das NSAlertView und zeige es an. Ich könnte aus meinem MyDelegate das AppDelegate damit beauftragen, weil es ja schon ein Outlet des Hauptfensters hat. Aber AppDelegate ist ja eine heikle Sache beim Design. Gibs saubere Ansätze für die Aufgabe?
Was ist eure Meinung als teilweise langjährige Obj-C Nutzer.
Gruß
MasterOP22
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von MasterOP22 ()