NSTableView mit Daten füllen

  1. martinibook

    martinibook Thread StarterMacUser Mitglied

    Mitglied seit:
    20.08.2005
    Beiträge:
    8.632
    Zustimmungen:
    350
    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
     
    martinibook, 23.09.2006
  2. cordney*

    cordney*MacUser Mitglied

    Mitglied seit:
    22.04.2003
    Beiträge:
    756
    Zustimmungen:
    24
    cordney*, 24.09.2006
  3. norbi

    norbiMacUser Mitglied

    Mitglied seit:
    14.01.2003
    Beiträge:
    3.506
    Zustimmungen:
    22
    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.
     
    norbi, 24.09.2006
  4. martinibook

    martinibook Thread StarterMacUser Mitglied

    Mitglied seit:
    20.08.2005
    Beiträge:
    8.632
    Zustimmungen:
    350
    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
     
    martinibook, 24.09.2006
  5. below

    belowMacUser Mitglied

    Mitglied seit:
    15.03.2004
    Beiträge:
    13.289
    Zustimmungen:
    1.086
    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
     
    below, 24.09.2006
  6. martinibook

    martinibook Thread StarterMacUser Mitglied

    Mitglied seit:
    20.08.2005
    Beiträge:
    8.632
    Zustimmungen:
    350
    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?
     
    martinibook, 24.09.2006
  7. below

    belowMacUser Mitglied

    Mitglied seit:
    15.03.2004
    Beiträge:
    13.289
    Zustimmungen:
    1.086
    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
     
    below, 24.09.2006
  8. martinibook

    martinibook Thread StarterMacUser Mitglied

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

    Dann werde ich mich mal einlesen.
     
    martinibook, 24.09.2006
  9. below

    belowMacUser Mitglied

    Mitglied seit:
    15.03.2004
    Beiträge:
    13.289
    Zustimmungen:
    1.086
    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
     
    below, 25.09.2006
  10. moses_78

    moses_78MacUser Mitglied

    Mitglied seit:
    08.04.2005
    Beiträge:
    1.264
    Zustimmungen:
    22
    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?
     
    moses_78, 11.07.2008
Die Seite wird geladen...