Hallo,
ich versuche verzweifelt mich in das Thema OutlineView mit DataSource einzuarbeiten, aber irgendwie funktioniert bei mir kein einziges Tutorial!
Ich habe jetzt schon mehrere Tutorials durchgearbeitet und erhalte stets eine leere OutlineView.
z.B. dieses hier:
alauda.ro/2012/04/30/nsoutlineview-inside-out/
Beim Punkt "Build and run the application. You should get something like this:" sollten laut Tutorial eigentlich die drei Namen zu sehen sein, bei mir wird nur eine leere OutlineView angezeigt.
Verstehe ich das richtig, dass die 4 Methoden quasi die regulären OutlineView-Methoden überschreiben? Zumindest die ersten 3 Methoden kann ich so halb nachvollziehen(für jedes Child-Item ein Array-Element hinzufügen; Expandable immer auf NO setzen, da ja nur 3 statische Einträge ohne Verzweigung angezeigt werden sollen; Anzahl der Childs ermitteln). Bei der 4. Methode outlineView:objectValueForTableColumn:byItem: weiß ich nicht genau, was da warum gemacht bzw. zurückgegeben wird, also warum "return item;" im Gegensatz zur regulären Methode für dieses Beispiel notwendig ist...
Funktioniert das Tutorial bei euch?
Alles anzeigen
Viele Grüße,
4Bit
ich versuche verzweifelt mich in das Thema OutlineView mit DataSource einzuarbeiten, aber irgendwie funktioniert bei mir kein einziges Tutorial!
Ich habe jetzt schon mehrere Tutorials durchgearbeitet und erhalte stets eine leere OutlineView.
z.B. dieses hier:
alauda.ro/2012/04/30/nsoutlineview-inside-out/
Beim Punkt "Build and run the application. You should get something like this:" sollten laut Tutorial eigentlich die drei Namen zu sehen sein, bei mir wird nur eine leere OutlineView angezeigt.
Verstehe ich das richtig, dass die 4 Methoden quasi die regulären OutlineView-Methoden überschreiben? Zumindest die ersten 3 Methoden kann ich so halb nachvollziehen(für jedes Child-Item ein Array-Element hinzufügen; Expandable immer auf NO setzen, da ja nur 3 statische Einträge ohne Verzweigung angezeigt werden sollen; Anzahl der Childs ermitteln). Bei der 4. Methode outlineView:objectValueForTableColumn:byItem: weiß ich nicht genau, was da warum gemacht bzw. zurückgegeben wird, also warum "return item;" im Gegensatz zur regulären Methode für dieses Beispiel notwendig ist...
Funktioniert das Tutorial bei euch?
Quellcode
- #import "AppDelegate.h"
- @implementation AppDelegate
- - (void)awakeFromNib
- {
- dataSource = [NSArray arrayWithObjects:@"John", @"Mary", @"George", nil];
- #if DEBUG
- NSLog(@"%@", dataSource);
- #endif
- }
- - (void)applicationDidFinishLaunching:(NSNotification *)aNotification
- {
- // Insert code here to initialize your application
- }
- - (id)outlineView:(NSOutlineView *)outlineView child:(NSInteger)index ofItem:(id)item
- {
- return [dataSource objectAtIndex:index];
- }
- - (BOOL)outlineView:(NSOutlineView *)outlineView isItemExpandable:(id)item
- {
- return NO;
- }
- - (NSInteger)outlineView:(NSOutlineView *)outlineView numberOfChildrenOfItem:(id)item
- {
- return [dataSource count];
- }
- - (id)outlineView:(NSOutlineView *)outlineView objectValueForTableColumn:(NSTableColumn *)tableColumn byItem:(id)item
- {
- return item;
- }
- @end
Viele Grüße,
4Bit