tableview sections für eingelesene werte

  • tableview sections für eingelesene werte

    Ich habe schon einige Tutorials über sections gesehen, aber überall wird mit einfach array bzw. vorgegebenen Daten gearbeitet. Aber irgendwie bekomme ich es nicht hin, dass ich das ganze automatisieren kann.
    Ich habe einen Ticker und der ließt neue Daten vom Server ein, wo auch ein Datum vorkommt. Die Daten liegen dann auf dem iphone in der sqlite Datenbank und jetzt möchte ich die Daten in der tableview anzeigen (was auch geht). Aber wie bekomme ich das Datum als Sections angezeigt und dann jeweils die Datensätze drunter, die an dem Tag sind?
    Ich habe es so versucht, dass ich ein prüfe ob das Datum dem vorherigen gleich ist, wenn ja, dann wird der datensatz in einem array abgelegt und gesammelt. Und wenn ein anderes Datum kommt, dann wird das "alte" array in ein dictionary gespeichert und das array wird zurückgesetzt und wieder neu gefüllt.
    Am Ende habe ich ein Dictionary mit vielen Array, die alle einem anderen Datum angehören.
    ABER es geht nicht...
    Habt ihr evtl gute Tutorials?
    Wär euch echt dankbar, da ich schon seit mehr als 2 Tagen daran sitze.
  • Thallius schrieb:

    DI sitzt da zwei Tage dran und bist nicht einmal auf die Idee gekommen dir anzusehen was in Deinen Datumsvariablen drin steht?

    Unvorstellbar

    Claus


    DAS habe ich nie geschrieben!!! Natürlich habe ich das Datum mit in dem Date type, aber ich habe es in die Form dd.MM.yyyy gebracht, weil man ja sonst nichts damit anfangen kann. Und das ganze dann als String speichern, damit ich es einfach vergleichen kann.
  • SpeedyBrainy schrieb:

    Thallius schrieb:

    DI sitzt da zwei Tage dran und bist nicht einmal auf die Idee gekommen dir anzusehen was in Deinen Datumsvariablen drin steht?

    Unvorstellbar

    Claus


    DAS habe ich nie geschrieben!!! Natürlich habe ich das Datum mit in dem Date type, aber ich habe es in die Form dd.MM.yyyy gebracht, weil man ja sonst nichts damit anfangen kann. Und das ganze dann als String speichern, damit ich es einfach vergleichen kann.


    Nur mal so als Tipp: Um ein Datum zu vergleichen sollte man entweder die dafür vorgesehen API's nehmen und keine Strings oder zumindest das Format YYYY-MM-DD benutzen. Denn dann kannst du mit einem einfach strcmp arbeiten

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • LOL

    As an example of the types of query this API makes possible, let's say you have an array of Person instances, each with a surname property. The following query will create a sorted, comma-separated list of the unique surnames from the array:

    Quellcode

    1. Selector surnameSelector = ^id(id person){
    2. return [person name];
    3. };
    4. Accumulator csvAccumulator = ^id(id item, id aggregate) {
    5. return [NSString stringWithFormat:@"%@, %@", aggregate, item];
    6. };
    7. NSArray* surnamesList = [[[[people select:surnameSelector]
    8. sort]
    9. distinct]
    10. aggregate:csvAccumulator];
    Alles anzeigen


    um folgendes abzubilden:

    Quellcode

    1. NSString names="";
    2. foreach(person in persomList)
    3. {
    4. if([person.surname compare:"Gesuchter Name]==NSORDERSAME)
    5. {
    6. names={names stringByAppending:[person.surname stringByAppendingString:","]];
    7. }
    8. }


    Da frage ich mich echt was nun lesbarer ist.

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Michael schrieb:

    SpeedyBrainy schrieb:

    DAS habe ich nie geschrieben!!! Natürlich habe ich das Datum mit in dem Date type, aber ich habe es in die Form dd.MM.yyyy gebracht, weil man ja sonst nichts damit anfangen kann. Und das ganze dann als String speichern, damit ich es einfach vergleichen kann.

    Und wie vergleichst Du dann die Strings? Hoffentlich nicht mit '=='.

    Michael


    Ja wie sonst? isEqual benutzt man ja nur bei zahlen...

    Ich muss ja kein Datum vergleichen, da ich die werte schon nach dem datum vorsortiert bekomme und wenn sich das "Datum" (bzw. der String davon) des letzten Datensatzes zum neuen Datensatz unterscheidet, dann weiß ich dass es ein neues Datum ist (ganz egal was für eins).

    Meine Frage sollte eher in die Richtung gehen, ob jemand ein gutes Tutorial kennt, welches in diese Richtung (erstellen von Sections mit veritablen Datensätzen) geht.
  • SpeedyBrainy schrieb:

    Michael schrieb:

    SpeedyBrainy schrieb:

    DAS habe ich nie geschrieben!!! Natürlich habe ich das Datum mit in dem Date type, aber ich habe es in die Form dd.MM.yyyy gebracht, weil man ja sonst nichts damit anfangen kann. Und das ganze dann als String speichern, damit ich es einfach vergleichen kann.

    Und wie vergleichst Du dann die Strings? Hoffentlich nicht mit '=='.

    Michael


    Ja wie sonst? isEqual benutzt man ja nur bei zahlen...

    Nein, isEqual: benutzt man bei Objekten! NSString hat sogar explizit die Methode isEqualToString:. Mit '==' vergleichst Du nur die Zeiger auf die Objekte und die werden bei Dir immer unterschiedlich sein, auch wenn in den Strings das gleiche drin steht.

    Michael


  • Was is daran so lustig? Ich finde das Linq-ish nicht so schlecht, is dem ähnlicher, wie man es in anderen Sprachen/Umgebungen macht. In Deinem Beispiel hast Du das sort und distinct vergessen, sowie ein Komma am Ende zuviel.

    Und über ein einführendes Beispiel zu lachen, finde ich merkwürdig. Lachst Du auch über das Beispiel in der NSArray Dokumentation

    Quellcode

    1. NSArray *pathArray = [NSArray arrayWithObjects:@"here", @"be", @"dragons", nil];
    2. NSLog(@"%@",[pathArray componentsJoinedByString:@" "]);

    Weil ja

    Quellcode

    1. NSLog("here be dragons");

    soviel lesbarer ist?!

    Im ersten Link findest Du ein Beispiel, was ich recht elegant finde..
    C++
  • zerm schrieb:



    Was is daran so lustig? Ich finde das Linq-ish nicht so schlecht, is dem ähnlicher, wie man es in anderen Sprachen/Umgebungen macht. In Deinem Beispiel hast Du das sort und distinct vergessen, sowie ein Komma am Ende zuviel.



    Lustig ist, dass die Leute heute irgendwelchen dicken Frameworks von Github in ihre Apps packen, weil sie nicht in der Lage sind einen Dreizeiler zu schreiben.
    Natürlich macht es Sinn das Framework zu verwenden, wenn man denn auch derart komplexe Sortierungen etc braucht.
    Aber du siehst ja wie es abgeht. Der TO weiß nicht wie man ein Datum vergleicht, ja genau genommen nichtmal wie man einen String oder eine Zahl vergleicht (würde es alles falsch machen) und als Hilfe wird ihm dieses Framework angeboten. Klar ist ja praktisch. Hau rein den Kram und der macht dann alles für mich. Das ist für mich lachhaft...

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Thallius schrieb:

    zerm schrieb:



    Was is daran so lustig? Ich finde das Linq-ish nicht so schlecht, is dem ähnlicher, wie man es in anderen Sprachen/Umgebungen macht. In Deinem Beispiel hast Du das sort und distinct vergessen, sowie ein Komma am Ende zuviel.



    Lustig ist, dass die Leute heute irgendwelchen dicken Frameworks von Github in ihre Apps packen, weil sie nicht in der Lage sind einen Dreizeiler zu schreiben.
    Natürlich macht es Sinn das Framework zu verwenden, wenn man denn auch derart komplexe Sortierungen etc braucht.
    Aber du siehst ja wie es abgeht. Der TO weiß nicht wie man ein Datum vergleicht, ja genau genommen nichtmal wie man einen String oder eine Zahl vergleicht (würde es alles falsch machen) und als Hilfe wird ihm dieses Framework angeboten. Klar ist ja praktisch. Hau rein den Kram und der macht dann alles für mich. Das ist für mich lachhaft...

    Claus


    Bin ich mit TO gemeint???
    Das mit dem Vergleich war natürlich Spaß, deshalb auch die 3 Punkte. Jeder der eine kleine App programmiert hat kennt den Unterschied, weil man sonst nur scheiße raus bekommt.
    Zum dritten mal: Ich suche eine TUTORIAL!!!!!!!!!!!!