wie wird der inhalt des tableviews in meinen arraycontroller aktualisiert?

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

  • wie wird der inhalt des tableviews in meinen arraycontroller aktualisiert?

    hallo,
    ich will, dass mein arraycontroller meinen array neu sortiert, wenn der user den tableview sortiert. bsp:

    ich lege zwei neue wörter an: b und a.
    [Blockierte Grafik: http://robin.mascue.de/eins.png]
    reihenfolge im array:
    1. b
    2. a

    dann sortiere ich:
    robin.mascue.de/zwei.png
    reihenfolge inm array:
    immernoch 1.b
    2.a


    ich will aber, dass die reihenfolge wie im tableview 1. a, 2. b ist.

    (wers wissen will, fürs drag & drop)

    wie löse ich das?

    @kay, warum können nur zwei bilder in den post?
  • RE: wie wird der inhalt des tableviews in meinen arraycontroller aktualisiert?

    Die Sortierung im Table-View ist eine Frage des Views. Da soll nichts im Array umsortiert werden. Denke dir nur, dass du zwei Table-Views hast.

    Wo liegt denn genau das Problem beim Drag & Drop?
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • Die gedraggten Rows sind doch selektiert? Dann müsstest du auch die selectedObjects-Property des Array-Controller abfragen können und hast mit dem ganzen Array-Kram gar nichts mehr am Hut.
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • RE: wie wird der inhalt des tableviews in meinen arraycontroller aktualisiert?

    Original von Tom9811
    Die Sortierung im Table-View ist eine Frage des Views. Da soll nichts im Array umsortiert werden.

    Hä wie bitte?
    Du änderst die Ansicht deines View ( z.b Sortierung nach Spalte a ) ohne den Array dahinter zu modifizieren? Damit ist View und Array komplett unterschiedlich?

    Ich handtiere zwar nicht mit einem ArrayController herum, sondern mit einem Array und pro Reihe ein Dictionary. Das andere Prinzip halte ich für zu _kompliziert_ man muss ja immer um Ecken denken.
    Damit ist ja nie Reihe 1 im View = Reihe 1 im Array usw usw. Oder sehe ich das falsch.

    Wurde hier nicht mal fett und breit erklärt das Ansicht und Content komplett voneinander getrennt sein soll. D.h das die Ansicht nur das widerspiegelt was im Content passiert? Das würde ja hiermit auf den Kopf gestellt.

    Wo finde ich den nen vernünftiges Exampel zu dem ArrayController? Das will ich mir mal angucken. Anno Tubak als ich anfing mit Cocoa wurde das ganze noch komplett anders gelöst.

    Sven
    :wq! /dev/null
  • RE: wie wird der inhalt des tableviews in meinen arraycontroller aktualisiert?

    Original von hanswurst
    @kay, warum können nur zwei bilder in den post?


    Weil der Server sonst platzt, wenn jeder seine gesammelten Werke hochlädt. Mit dieser Funktion sollte sehr sparsam umgegangen werden. Immerhin komme ich allein für den Webspace und Traffic auf.
  • RE: wie wird der inhalt des tableviews in meinen arraycontroller aktualisiert?

    Hä wie bitte?
    Du änderst die Ansicht deines View ( z.b Sortierung nach Spalte a ) ohne den Array dahinter zu modifizieren? Damit ist View und Array komplett unterschiedlich?

    Nein, sie sind nicht unterschiedlich. Die Sortierung ist eine Eigenschaft des Views, nicht des Models. (Das kann natürlich auch eine Eigenschaft des Models sein, dann ist es aber eben keine des Views.) Daher kannst du nicht sagen, ob es unterschiedlich ist. Es ist nicht vergleichbar.

    Implementiert ist das ganze allerdings nicht in den Views selbst, sondern im Array-Controller, der sich auch um Selection, Auswahl usw. kümmert. Das hat den wichtigen Vorteil, dass -- wenn man will -- mehrere Views durch Verwendung desselben Controllers synchron halten kann. Daher ja auch Michaels Lösung, dort den Index abzufragen.

    Denke nur daran, dass du ein Array hast, welches in mehreren Views angezeigt wird. Dann musst du die selbstverständlich unterschiedlich sortieren können. (Wenn du gleich sortieren willst, bindest du einfach an den selben Controller.)

    Ich handtiere zwar nicht mit einem ArrayController herum, sondern mit einem Array und pro Reihe ein Dictionary. Das andere Prinzip halte ich für zu _kompliziert_ man muss ja immer um Ecken denken.
    Damit ist ja nie Reihe 1 im View = Reihe 1 im Array usw usw. Oder sehe ich das falsch.

    Nicht nie, da die Anzeige ja unsortiert sein kann. Wenn du aber eine Sortierung im View einschaltest, gibt es keinen Grund anzunehmen, dass sich die Zeilenindizes im View und im Model decken.

    Wurde hier nicht mal fett und breit erklärt das Ansicht und Content komplett voneinander getrennt sein soll. D.h das die Ansicht nur das widerspiegelt was im Content passiert? Das würde ja hiermit auf den Kopf gestellt.

    ? Die Trennung erfolgt, damit die Ansicht unabhängig vom Model ist. Dadurch, dass die Sortierung keine Eigenschaft des Models ist, ist sie unabhängig vom Model. Das *ist* gerade die Trennung!

    Wo finde ich den nen vernünftiges Exampel zu dem ArrayController? Das will ich mir mal angucken. Anno Tubak als ich anfing mit Cocoa wurde das ganze noch komplett anders gelöst.

    In der Anlage

    Nimm einfach ein Array, lege zwei Array-Controller drauf und erzeuge zwei Views, die daran gebunden sind.
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?