Gedankenfehler beim synchroniseren von Daten

  • Gedankenfehler beim synchroniseren von Daten

    Hi,
    ich habe gerade irgendwie einen Gedankenfehler und komme nicht weiter. Ich komme einfach nicht aus die Lösung. Ich synchronisiere Daten in die Cloud. Wenn Daten geschrieben werden setze ich ein Datum in der Cloud auf das aktuelle Datum. Nach jeder Synchronisation (egal ob Daten geschrieben oder gelesen werden) setze ich die NSDate-Variable lastSynchDate auf das aktuelle Datum. Wenn man Daten schreibt ist das Cloud Date immer gleich mit den lastSynchDate. Wie bekomme ich nun heraus ob die Daten auf den iDevice neuer sind als in der Cloud und ob ich somit lesen oder schreiben muss? Wo habe ich einen Gedankenfehler drinnen?

    Viele Grüße
    Nils
  • Dann hast Du wohl einen Fehler im Progamm-Ablauf.

    Hier mal als Pseudo-Code:

    Quellcode

    1. if (appDate > cloudDate)
    2. {
    3. // Daten in der App sind aktueller als in der Cloud, also die Daten in der Cloud aktualisieren.
    4. ...
    5. cloudDate = appDate;
    6. }
    7. else if (cloudDate > appDate)
    8. {
    9. // Daten in der Cloud sind aktueller als in der App, also die Daten in der App aktualisieren.
    10. ...
    11. appDate = cloudDate;
    12. }
    13. else
    14. {
    15. // Daten in der App und der Cloud sind identisch.
    16. }
    Alles anzeigen
  • Daran habe ich gar nicht gedacht und mir auch nicht weiter darüber einen Kopf gemacht. Aber eigentlich ist das ja nicht möglich, denn jedesmal wenn was gerechnet wird, wird sofort gesyncht. Da müsste an zwei Geräten zur exakt der selben Zeit eine Rechnung ausgeführt werden und das finde ich persönlich etwas unwahrscheinlich, dass das passiert.