MAC: Hilfe bei NSTableView

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • MAC: Hilfe bei NSTableView

    Liebe Community,

    bei einem Projekt, welches mich in den letzten Tagen fast zur Verzweiflung gebracht hat, bitte ich um Hilfe.
    Habe in sämtlichen Foren gestöbert, aber habe nirgendwo etwas gefunden, was mein Problem betrifft.
    Habe bisher noch nie mit einer Tabelle gearbeitet, also entschuldigt bitte die ausführlich gestellte Frage.

    Mit dieser Funktion soll man Server zu einer Tabelle hinzufügen können. Um einen Server hinzuzufügen gibt man den Servernamen sowie die IP in die untenstehenden Textfelder ein. Beim klicken auf den "Hinzufügen" Button [wird die Erreichbarkeit geprüft, was ich selbst hinbekomme (und)] sollen die eingegeben Werte in die entsprechenden Spalten eingefügt werden und in den NSUserDefaults gespeichert werden.

    Kann mir jemand bei diesem scheinbar einfach Problem helfen?
    Danke für Deine Hilfe!

    Grüße,

    Scotch :)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Scotch ()

  • Hast du beireits ein Array aus den Userdefaults an die Tabelle und die Einträge entsprechend an die Zellen gebunden? Dann brauchst du eigentlich nur ein neues Dictionary mit den beiden Werten in dem Array in den Userdefaults zu speichern.

    BTW: Für sowas würde ich keine Userdefaults sondern lieber eine dokumentenbasierte App mit Core Data verwenden.
    „Meine Komplikation hatte eine Komplikation.“
  • naja, zum testen ist es einfacher wenn du es in die userdefault speicherst, sobald du das array da raus holst, musst du dir eine mutable kopie erstellen (und eventuell auch von den dictionaries die darin sind).

    du kannst die tabelle per bindings an die daten bin (bzw umgekehrt) oder über die data-source methoden.
  • Es istz das übliche Problem wenn man von einer anderen Plattform und/oder Sprache kommt. Man versucht die Dinge so abzubilden wie man es mal gelernt hat und Parallelen zu finden.

    Beim Mac ist aber nunmal alles anders :)

    Kaufe Dir ein Buch (Objective-C und Cocoa von einem Forianer hier ist zu empfehlen) und fange vorne an. Du kannst dabei sehr schnell durchgehen weil Dir vieles bekannt vorkommt aber es gibt eben kleine aber feine Unterschiede zu dem was man früher gemacht hat.

    Dazu gehört in erster Linie das KeyValueObserving und die Bindings. Diese in Verbindung mit CoreData sind ziemlich genial. Man muss nur alles was man früher so gemacht hat einfach mal über Bord werfen und neu anfangen.

    Dann klappts auch mit dem OSX programmieren.

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Vielen Dank für die zahlreichen Antworten. Kann mir jemand ein par Bücher empfehlen? Eins wurde mir ja schon vorgeschlagen.

    Zu dem aktuellen Problem:
    Wie mach ich das genau über die NSUserDefaults? ?(

    gritsch schrieb:

    naja, zum testen ist es einfacher wenn du es in die userdefault speicherst, sobald du das array da raus holst, musst du dir eine mutable kopie erstellen (und eventuell auch von den dictionaries die darin sind).

    du kannst die tabelle per bindings an die daten bin (bzw umgekehrt) oder über die data-source methoden.

    Danke für Eure Hilfe!
  • anstelle das zeug in die userdefaults zu speichern kannst du die daten ja auch einfach auf die platte speichern als plist oder json (ist jeweils nur ein einzeiler - musst nur in die doku zu NSDictionary oder NSJSONSerialization oder NSPropertyListSerialization schauen - nur aus dem kopf getippt, können also auch bisschen anders heißen).
  • Ich würde zum Lernen ja noch den Vorschlag in den Ring werfen, das von Hand zu serialisieren. Stichworte property lists, NSCoding, NSKeyedArchiver.

    Bindings setzen KVO voraus, das lernt man m.M.n. am besten, wenn man es mal "zu Fuß" gemacht hat.

    Als Buchempfehlung da es für den Mac ist: das Buch von Amin -> SuFu

    Edit: cocoading.de/Books/

    Frohes Schaffen und schöne Feiertage!
  • Scotch schrieb:

    Nicht von der Menge des Codes, keineswegs! Aber empfinde es trotzdem als Umständlich. Kann ich von diesem Code auch dann weiter einfach den Tabelleninhalt speichern?

    LG, Scotch
    klar, einfach myContentArray speichern.

    du kannst es aber wie gesagt zuerst mal mit den den NSTablieViewDataSource methoden machen (musst du 2 implementieren) dann versthst du wie die daten in die tabelle kommen. bindings machen das dann einfach automatisch...
  • Das Forum ist klasse! Hab dank euch jetzt die Bindings hin bekommen und eigentlich ist es auch gar nicht so schwer, danke Euch allen!!!

    Habe auch schon mit dem Speichern weiter geforscht. Hierzu gibt es eine Menge an Beiträgen, überall.
    Am liebsten wäre mir, dass das in einer Property-List gespeichert wird. Stell mir es aber kompliziert vor beim synchronisieren...
    Hat jemand von Euch einen Impuls, wie ich das am Besten mit der Property-List hin bekomme?

    Danke schon im Voraus!
    Frohe Festtage! :)
  • Hallo,

    kann mir bitte jemand ein Codebeispiel geben? Sitz schon den kompletten Tag dran und bin am absoluten verzweifeln. ?( ?( ?( ?(
    Wie bereits angesprochen, das mit den Bindings in´st mir mittlerweile klar und die klappen auch, einwandfrei.
    Wäre dankbar für Hilfe.

    Grüße,

    Scotch

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Scotch ()