Zu welchem Zeitpunkt speichert ihr CoreData?

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

  • Zu welchem Zeitpunkt speichert ihr CoreData?

    Guten Abend zusammen,

    mich interessiert eure Meinung zum Thema CoreData speichern.

    In meinem aktuellen Projekt rufe ich in der Methode applicationDidEnterBackground eine Prozedur zum Speichern meiner Daten auf. Ist das grundsätzlich empfehlenswert?
  • Guten Abend zusammen, mich interessiert eure Meinung zum Thema CoreData speichern. In meinem aktuellen Projekt rufe ich in der Methode applicationDidEnterBackground eine Prozedur zum Speichern meiner Daten auf. Ist das grundsätzlich empfehlenswert?
    So bekommst du ja garnicht die Änderung mit, ausser dein Programm wird beendet und du startest neu. Mach das Save nach jeder Action, wie Amin schon schrieb
  • Fonsi schrieb:

    In meinem aktuellen Projekt rufe ich in der Methode applicationDidEnterBackground eine Prozedur zum Speichern meiner Daten auf. Ist das grundsätzlich empfehlenswert?

    Das mache ich eigentlich immer bei -viewWillDisappear so.
    -applicationDidEnterBackground wäre mir persönlich zu selten, wenn beispielsweise Suchanfragen an den MOC gesendet werden sollen.
    Nach jedem Verlassen einer 'Änderungs'-View empfinde ich als guten Mittelweg.

    matz schrieb:

    So bekommst du ja garnicht die Änderung mit, ausser dein Programm wird beendet und du startest neu.

    Wieso sollte ich Änderungen im Store mitbekommen wollen?
    Ich ändere den Objektgraphen. Das bedeutet auch, dass ich einfach Objekte in den Objektgraphen einfüge oder daraus herauslösche.
    Dazu muss ich ja nicht jede einzelne Änderung auch noch zusätzlich im Store quittieren.

    Man nehme eine Notizapp und lege einfach mal 15 Notizen nacheinander an. Den Vorteil von 15x 1 Notiz gegenüber 1x 15 Notizen in den Store zu schieben sehe ich gerade nicht.
    Gefühlt dürften 15 Anfragen an den Store/Managed Object Context etwas länger dauern und ein wenig mehr Performance 'fressen' als eine Anfrage.

    Es mag natürlich sein, dass das mit iCloud mittlerweile Nachteile haben kann. Mir persönlich ist nicht klar, wie es da zu Konflikten kommen kann.
    (Außer ich benutze zwei Geräte direkt parallel, doch dafür ist iCloud meines Wissens nicht konzipiert.)
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P
  • viewWillDisappear wird allerdings nicht immer aufgerufen (z.B. beim Drücken des Home-Buttons nicht), daher empfiehlt es sich auch nicht, dort die Daten zu speichern.


    Ich werde es nun so machen wie Amin vorgeschlagen hat, nämlich nach jeder User-Interaktion, die damit etwas zu tun hat.
  • kmr schrieb:

    macmoonshine schrieb:

    Immer dann speichern, wenn der Nutzer es erwartet.
    Aus meiner Zeit als Windows-Programmierer möchte ich hinzufügen: Immer dann abstürzen, wenn der Nutzer es nicht erwartet. Das verbessert das Nutzungserlebnis ungemein!




    Jaja, ich war jung und brauchte das Geld!

    Das würde ja bedeuten, dass Anwendungen unter Windows nie abstürzen würden.
    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"?
  • Amin Negm-Awad schrieb:

    kmr schrieb:

    macmoonshine schrieb:

    Immer dann speichern, wenn der Nutzer es erwartet.
    Aus meiner Zeit als Windows-Programmierer möchte ich hinzufügen: Immer dann abstürzen, wenn der Nutzer es nicht erwartet. Das verbessert das Nutzungserlebnis ungemein!

    Das würde ja bedeuten, dass Anwendungen unter Windows nie abstürzen würden.

    Vielleicht haben sie mit Windows 7 diese Regel umgekehrt...
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P