tableview sections + coredata

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

  • tableview sections + coredata

    Hallo mal wieder,

    ich brauche mal ein paar Hinweise für mein Projekt.

    Ich habe einen Tableview. Der soll Sections haben. Jede Section ist eine Woche, mit 7 cells, also Montag bis Sonntag.
    im sectionHeader steht dann der Zeitraum der Wochen z.b. "25.05. - 31.05.".
    Die erste section bzw Woche soll immer da sein (Woche in der das aktuelle Datum liegt).
    Alle weiteren Sections sollen erst erzeugt werden wenn der Anwender über den Add-Button für irgendein Datum einen Eintrag anlegt.
    also bspw. legt er für den 02.06.einen Eintrag an, dann soll die ganze Woche/ Section in der dieses Datum liegt mit den 7 cells erzeugt werden und in chronologischer Reihenfolge mit den anderen sections angezeigt werden.

    Die Daten werden mit CoreData gespeichert und wieder ausgelesen.
    Die Entity hat als Attribute einen Titel, Subtitel, Beschreibung und ein Datum.

    Meine konkreten Fragen für den Anfang wären:

    Wie erzeuge ich am besten die Sections?
    Wie gebe ich am besten die numberOfRows an? Einfach -> return 7? Scheint mir irgendwie zu einfach.
    Wie erzeuge ich aus den CoreData-Daten die Sections und weise die Einträge der richtigen cell zu?

    Micha
  • Ohne konkrete Kenntnisse von CoreData wäre meine Idee

    Speichern der Wochen aufgrund der Wochenzahl -> ergibt dann die Section
    Die Termine/Tage in Relation zur woche. Kannst als zusätzliches Attribut den Tag (zahl) der Woche nehmen.

    Somit kannst du über die Wochen die Anzahl der Sections herausfinden und die über die Tage heruasfinden in welcehr der 7 zellen sie gschrieben werden.
    Solltest dabei darauf achten, das nicht jeder erste Tag in jedem Kalender der Montag ist, sondern oft auch Sonntag der erste Tag der woche ist.
  • tut mir leid aber mit der Antwort komm ich nicht richtig zurecht. ?(

    was ich zb. nicht verstehe ist, wie bzw woher werden die sections anhand einer bestehenden Entität ermittelt. ist die section die Entität selbst und der titel ein Attribut der Entität? Oder muss ich eine zusätzliche Entität "Woche" anlegen mit den Attributen Wochennummer, Tag?

    gibt es eine gut verständliche doku zu der ganzen coredata geschichte? mit apple´s doku komm ich nicht gut klar.

    bin Anfänger und vieles verstehe ich noch nicht.

    kannst du mir das nochmal etwas praxisbezogner erklären? ;(
  • _Micha_ schrieb:



    kannst du mir das nochmal etwas praxisbezogner erklären? ;(
    also so würde ich das jetzt machen und danach "optimieren".

    erstmal die wochen des jahres holen mit den datums ranges, z.b.
    KW 2301.06.201502.06.201503.06.201504.06.201505.06.201506.06.201507.06.2015

    usw...


    jetzt kannst du die woche zusammen mit der jahreszahl und den tagen speichern
    etwa so

    JavaScript-Quellcode

    1. {
    2. "2015": [
    3. {
    4. "week": 23,
    5. "days": [
    6. "01.06.2015",
    7. "02.06.2015",
    8. "03.06.2015",
    9. "04.06.2015",
    10. "05.06.2015",
    11. "06.06.2015",
    12. "07.06.2015"
    13. ]
    14. },
    15. {
    16. "week": 24,
    17. "days": [
    18. "08.05.2015",
    19. "..."
    20. ]
    21. }
    22. ]
    23. }
    Alles anzeigen
    jetzt kannst du über das array des index "2015" iterieren und die wochenzahlen mit days als section verarbeiten.
    du hast an dieser stelle schon alle daten, wann du diese anzeigst, kannst du dann selbst bestimmen... z.b. nur wenn es einen eintrag gibt.

    du hast an dieser stelle auch schon alle tage für die jeweilige woche, die du als cellen anzeigen könntest, d.h. ein neues event an einem tag würde nicht den tag generieren, sondern nur einen event an diesem tag, welcher das datum (cell, bzw. auch section) sichtbar macht.

    ich habe keine core data kenntnisse, nehme aber an, das du dir mit einem request ein object liefern lassen kannst, das die oberen daten inkl. die entsprechenden eventdaten liefern lassen kannst.
    somit sollte es dann nur noch ein fröhliches iterieren über die daten sein ;)