Fragen zum Outlineview

  • Fragen zum Outlineview

    Moin,

    ich experimentiere z.Zt. etwas mit dem Outlineview.

    Meine
    Datenstruktur ist im Grunde ziemlicher Standard. Ich habe eine Entität
    "Paper" mit name und anderen Eigenschaft. Dazu gibt es eine Entität
    "Info" ein Paper kann mit n Infos verknüpft werden. Also eine 1 zu n
    Relation. Eigendlich möchte ich (wie im Xcode - Groups & Files auch)
    mehrere Wurzelelemente haben - eben die Paper. Die Paper beinhalten
    dann als Nodes die "infos", mit denen sie veknüpft sind.

    Kapiert habe ich bilang nur, wie ich zur Wurzel weitere items hinzufüge.

    Also habe ich in meiner Datasource folgende methode

    Quellcode

    1. - (void)addPaper:(ovItem*)newPaper {
    2. ovItem *theRoot;
    3. theRoot = [oView itemAtRow:0];
    4. [theRoot addChild: newPaper];
    5. [oView reloadItem:wurzel reloadChildren:YES];
    6. }


    und die awakeFromNib

    Quellcode

    1. - (void)awakeFromNib {
    2. NSLog(@"ovDataSource awakeFromNib");
    3. NSMutableArray *paperSource = [NSMutableArray array];
    4. ovItem *newPaper;
    5. NSString *aString;
    6. for (int i=0; i<5; i++) {
    7. aString = [NSString stringWithFormat:@"Paper %i", i];
    8. newPaper = [[ovItem alloc] init];
    9. [newPaper setName:aString];
    10. [paperSource addObject:newPaper];
    11. [newPaper release];
    12. NSLog(@"+++ String: %@", aString);
    13. }
    14. NSEnumerator *testEnum;
    15. ovItem *object;
    16. testEnum = [paperSource objectEnumerator];
    17. while( (object = [testEnum nextObject]) ) {
    18. NSLog(@"Enumerator Stringaction: %@", [object Name]);
    19. [self addPaper:object];
    20. }
    21. }
    Alles anzeigen






    Ist das so, wie es sein sollte, oder gibt es Dinge die man anders machen sollte?

    Ich erstelle jetzt erstmal ein Array mit Papers, testweise. Später
    sollen an dieser Stelle gepeicherte Paperkonstellationen aus eine Datei
    ins Array geladen werden.

    Wie mache ich das? Mit PropertyLists oder sollte ich mit CoreData arbeiten? Macht es Sinn eine Datenbank zu bemühen?