NSTableView mit Daten füllen

Dieses Thema im Forum "Mac OS X Entwickler, Programmierer" wurde erstellt von martinibook, 23.09.2006.

  1. martinibook

    martinibook Thread Starter MacUser Mitglied

    Beiträge:
    8.564
    Zustimmungen:
    350
    MacUser seit:
    20.08.2005
    Hallo,

    Ich brauche für ein Programm eine 4-spaltige Tabelle. Die Tabelle soll nur Daten anzeigen, die Daten müssen nicht sortiert oder geändert werden können.

    Ich habe mal in der Dokumentation geschaut, allerdings werde ich nicht schlau daraus.

    Wie kann ich Daten in die Tabelle schreiben?

    Martin
     
  2. cordney*

    cordney* MacUser Mitglied

    Beiträge:
    755
    Zustimmungen:
    24
    MacUser seit:
    22.04.2003
  3. norbi

    norbi MacUser Mitglied

    Beiträge:
    3.506
    Zustimmungen:
    22
    MacUser seit:
    14.01.2003
    Schau Dir mal "Core Data" an - in Verbindung mit "Cocoa Bindings". So kannst Du Dir Dein Programm einfach zusammenklicken und brauchst Dich ums Füllen der Tabelle mit Daten nicht zu kümmern.

    Video Tutorial (damit sollte Du eigentlich auskommen):
    http://developer.apple.com/cocoa/coredatatutorial/index.html

    Mehr Info zu einer Core Data Application:
    http://www.cocoadevcentral.com/articles/000085.php

    No.
     
  4. martinibook

    martinibook Thread Starter MacUser Mitglied

    Beiträge:
    8.564
    Zustimmungen:
    350
    MacUser seit:
    20.08.2005
    Core Data ist zwar eine nette Sache, aber ich will einfach nur einige Zeilen nicht als Text sondern als Tabelle dargestellt bekommen.

    Ich möchte ein Programm schreiben, das Wachstum simuliert:
    Ich habe 100 Kaninchen und nach einem Monat kommen 10 dazu. Jetzt gibt es verschiedene Arten, es könnte also jeden Monat um 10 wachsen oder um 10%. Dann wird gerechnet, 100 Werte und diese dann in einer Tabelle angezeigt, in den Spalten "Zeit" und "Anzahl".

    Wie schreibe ich diese Daten in eine Tabelle rein?

    Martin
     
  5. below

    below MacUser Mitglied

    Beiträge:
    13.882
    Zustimmungen:
    1.086
    MacUser seit:
    15.03.2004
    Wenn Du Bindings (das hat ja erstmal nichts mit CoreData zu tun) nicht verwenden willst - es ist eigentlich ganz einfach - dann muss Du eine TableView Data Source zur Verfügung stellen:

    http://developer.apple.com/document...View/index.html#//apple_ref/doc/uid/10000026i

    Aber es wäre bei Deiner Frage sehr hilfreich zu wissen, wo Du schon nachgeschaut hast, und was Du schon probiert hast. Es hat mich etwas in den Fingern gejuckt "RTFM, STFN!" zu antworten.

    Alex
     
  6. martinibook

    martinibook Thread Starter MacUser Mitglied

    Beiträge:
    8.564
    Zustimmungen:
    350
    MacUser seit:
    20.08.2005
    Ich denke wahrscheinlich zu MySQL Orientiert.

    Die Anfrage an die Tabelle sieht bei mir irgendwie so aus:
    tabelle_einsetzen("Erste Spalte-Eintrag", "Zweite Spalte-Eintrag");

    Ich brauche nur eine Funktion, mit der ich eine Zeile in eine Tabelle eintragen kann. Die Werte sind nur einfache Zahlen.

    Geht das so einfach oder ist das viel schwerer?
     
  7. below

    below MacUser Mitglied

    Beiträge:
    13.882
    Zustimmungen:
    1.086
    MacUser seit:
    15.03.2004
    Es ist ein anderes Modell. Nicht schwerer, nicht leichter, anders. Tu Dir und uns den Gefallen, dich einmal mit der NSTableView Dokumentation auseinanderzusetzen, und vielleicht einfach mal eins der vielen, vielen Beispiele auszuprobieren. Oder willst Du das Dir die Leute fertigen Code schicken?

    Alex
     
  8. martinibook

    martinibook Thread Starter MacUser Mitglied

    Beiträge:
    8.564
    Zustimmungen:
    350
    MacUser seit:
    20.08.2005
    Okay, ich habe die ganze Zeit nach einer Funktion gesucht, die so aussieht wie beschrieben.

    Dann werde ich mich mal einlesen.
     
  9. below

    below MacUser Mitglied

    Beiträge:
    13.882
    Zustimmungen:
    1.086
    MacUser seit:
    15.03.2004
    Denk daran: Ein NSTableView ist ein VIEW, während eine SQL Tabelle ein Datenspeicher (Model) ist. Das sind unterschiedliche Dinge.

    Im Prinzip (und mit CoreData) kannst Du eine SQL Tabelle direkt als Datenquelle für einen NSTableView verwenden, aber das ist nur eine Möglichkeit.

    Alex
     
  10. moses_78

    moses_78 MacUser Mitglied

    Beiträge:
    1.322
    Zustimmungen:
    22
    MacUser seit:
    08.04.2005
    NSTableView ist in der Tat ein bissl heftig...

    Also, sehe ich das richtig? Ich muss in einer Klasse, welche als DataSource fürs
    TableView angegeben ist, die Methoden
    Code:
    (int)numberOfRowsInTableView:(NSTableView *)aTableView
    und
    Code:
    (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(int)rowIndex
    implementieren.

    Aber was ist, wenn meine Klasse Qb, welches die "Mutterklasse" meines
    Programms ist, gleichzeitig als Datasource fungieren soll, da es die Daten
    enthält? Ist das möglich oder muss ich mein Programm komplett neu kon-
    zeptionieren?
     
Die Seite wird geladen...

Diese Seite empfehlen