- Registriert
- 17.11.08
- Beiträge
- 19
Hi Leute,
ich habe vor kurzem mit Cocoa-Programmieren angefangen. Trotz meiner Erfahrungen mit Java habe ich noch einige Schwierigkeiten. Ich verdeutliche mein Problem an einem kleinen Beispielprogramm.
Mein Ziel ist es in diesem Beispiel, Personen in einer Tabelle zu verwalten. Dazu habe ich eine Klasse "Person" mit Name und Alter.
in AppDelegate erstelle ich ein NSMutableArray zur Verwaltung und füge in "init" schon mal drei Personen hinzu. Außerdem mache ich IBOutlets für ein NSTextField und für die Tabelle und eine IBAction zum hinzufügen von Personen.
Nun gehe ich in die XIB-Datei. ich füge ein Textfeld, eine Tabelle, einen Butten und einen ArrayController hinzu. Ich belege den Typ des Controllers mit "Person" und füge die keys hinzu. An diese werden die Columns gebunden.
Bis hierhin funktioniert auch alles wunderbar: die 3 Personen des Arrays werden angezeigt und sind veränderbar.
Der Add-Butten funktioniert auch, aber nur wenn ich die standard Add-Funktion vom Controller verwende. Dann erscheinen neue Personen mit Standardnamen in der Tabelle. Schön und gut, ich will aber, dass der Name, den ich in das TextField geschrieben habe, durch den Butten in die Liste eingetragen wird.
Also lasse ich das mit dem standard-Add und mache mir meine eigene Add-Funktion durch die IBAction in AppDelegate. ich nehme also den Inhalt des Textfields und bastle daraus eine Person und füge sie dem Array hinzu. Funktioniert auch super.
Abschließend will ich natürlich, dass auch alles wieder in der Tabelle angezeigt wird. also schließe ich mit
[tableView reloadData];
Das bewirkt leider GAR NICHTS. Es bleiben einfach nur die 3 Personen in der Tabelle stehen, obwohl ich im Debugger genau sehen kann, dass die Objectahl im Array steigt.
Kann mir jemand sagen, was ich machen muss, reloadData funktioniert?? :-c:-c:-c
Danke im Voraus
ich habe vor kurzem mit Cocoa-Programmieren angefangen. Trotz meiner Erfahrungen mit Java habe ich noch einige Schwierigkeiten. Ich verdeutliche mein Problem an einem kleinen Beispielprogramm.
Mein Ziel ist es in diesem Beispiel, Personen in einer Tabelle zu verwalten. Dazu habe ich eine Klasse "Person" mit Name und Alter.
in AppDelegate erstelle ich ein NSMutableArray zur Verwaltung und füge in "init" schon mal drei Personen hinzu. Außerdem mache ich IBOutlets für ein NSTextField und für die Tabelle und eine IBAction zum hinzufügen von Personen.
Nun gehe ich in die XIB-Datei. ich füge ein Textfeld, eine Tabelle, einen Butten und einen ArrayController hinzu. Ich belege den Typ des Controllers mit "Person" und füge die keys hinzu. An diese werden die Columns gebunden.
Bis hierhin funktioniert auch alles wunderbar: die 3 Personen des Arrays werden angezeigt und sind veränderbar.
Der Add-Butten funktioniert auch, aber nur wenn ich die standard Add-Funktion vom Controller verwende. Dann erscheinen neue Personen mit Standardnamen in der Tabelle. Schön und gut, ich will aber, dass der Name, den ich in das TextField geschrieben habe, durch den Butten in die Liste eingetragen wird.
Also lasse ich das mit dem standard-Add und mache mir meine eigene Add-Funktion durch die IBAction in AppDelegate. ich nehme also den Inhalt des Textfields und bastle daraus eine Person und füge sie dem Array hinzu. Funktioniert auch super.
Abschließend will ich natürlich, dass auch alles wieder in der Tabelle angezeigt wird. also schließe ich mit
[tableView reloadData];
Das bewirkt leider GAR NICHTS. Es bleiben einfach nur die 3 Personen in der Tabelle stehen, obwohl ich im Debugger genau sehen kann, dass die Objectahl im Array steigt.
Kann mir jemand sagen, was ich machen muss, reloadData funktioniert?? :-c:-c:-c
Danke im Voraus