Moin,
damit wäre ich durch. Nach Rezept koch ich offenbar super. Mit dem improvisieren hapert's wohl noch. Jetzt versuche ich die kleine Übung am Ende des Absatzes zu bewältigen, nämlich eigenständig Daten dem TableView hinzuzufügen.
Dabei stellen sich mir einige Fragen:
1. Wieso verbinde ich den TableView mit dem Objekt slide? Weil offenbar slide als diese "DataSource" dient. Es hieß, slide wird automatisch als DataSource angeboten. War auch so. Woran erkent Cocoa denn, dass die Klasse slide dazu kompatibel ist? Ich schätze daran, dass Kriterien wie, es ex. Eigenschaft wie Array, NSTableView und es ex. diese Methoden "numberOfRowsInTableView", "tableView:..." erfüllt sind. Okay.
Da ich beim implementieren dieser Methoden diese nicht in der Header-Datei bekannt gebe, gehe ich davon aus, dass sie in NSObject soweiso schon implementiert sind. Scheint so zu sein, denn [super tableView...] wir mir angeboten.
2. Jetzt war ich so pfiffig und kam auf die Idee, per (IBAction)addItem:(NSButton *)sender; einfach ein neues "TableObj"ect zu erzeugen und das dem Array hinzuzufügen. Ist natürlich klar, dass das nicht automatisch mit dem TableView synchronisiert wird.
Heißt entweder (a) ich füge das neue Element jetzt manuel noch dem TableView hinzu, oder (b) ich synchronisiere das Array und das TableView.
Okay, verstehe aber nicht wer hier wann welche methode ausführt. Verbinde ich TableView mit slide als DataSource, so wir beim Start 8x "objectValueForTableColum" ausgeführt. Ich gehe davon aus, dass durch numberOfRowsInTableView die anzahl der Zeilen bekannt sind und die Anzahl der Spalt per Voreinstellung. So geht das TableView Objekt jetzt Zelle für Zelle mit der Methode "(id)tableView:(NSTableView *)Table objectValueForTableColumn:(NSTableColumn *) Column row:(int)Row" durch und die entsprchnende Wert zu erhalten und schreibt sie in die Zellen.
Na wie auch immer, ich verstehe nicht, was ich hier habe. Was hier wann wen aufrufen muss.
Grüße,
bauwerk
damit wäre ich durch. Nach Rezept koch ich offenbar super. Mit dem improvisieren hapert's wohl noch. Jetzt versuche ich die kleine Übung am Ende des Absatzes zu bewältigen, nämlich eigenständig Daten dem TableView hinzuzufügen.
Dabei stellen sich mir einige Fragen:
1. Wieso verbinde ich den TableView mit dem Objekt slide? Weil offenbar slide als diese "DataSource" dient. Es hieß, slide wird automatisch als DataSource angeboten. War auch so. Woran erkent Cocoa denn, dass die Klasse slide dazu kompatibel ist? Ich schätze daran, dass Kriterien wie, es ex. Eigenschaft wie Array, NSTableView und es ex. diese Methoden "numberOfRowsInTableView", "tableView:..." erfüllt sind. Okay.
Da ich beim implementieren dieser Methoden diese nicht in der Header-Datei bekannt gebe, gehe ich davon aus, dass sie in NSObject soweiso schon implementiert sind. Scheint so zu sein, denn [super tableView...] wir mir angeboten.
2. Jetzt war ich so pfiffig und kam auf die Idee, per (IBAction)addItem:(NSButton *)sender; einfach ein neues "TableObj"ect zu erzeugen und das dem Array hinzuzufügen. Ist natürlich klar, dass das nicht automatisch mit dem TableView synchronisiert wird.
Heißt entweder (a) ich füge das neue Element jetzt manuel noch dem TableView hinzu, oder (b) ich synchronisiere das Array und das TableView.
Okay, verstehe aber nicht wer hier wann welche methode ausführt. Verbinde ich TableView mit slide als DataSource, so wir beim Start 8x "objectValueForTableColum" ausgeführt. Ich gehe davon aus, dass durch numberOfRowsInTableView die anzahl der Zeilen bekannt sind und die Anzahl der Spalt per Voreinstellung. So geht das TableView Objekt jetzt Zelle für Zelle mit der Methode "(id)tableView:(NSTableView *)Table objectValueForTableColumn:(NSTableColumn *) Column row:(int)Row" durch und die entsprchnende Wert zu erhalten und schreibt sie in die Zellen.
Na wie auch immer, ich verstehe nicht, was ich hier habe. Was hier wann wen aufrufen muss.
Grüße,
bauwerk