CoreData und Autosave?

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

  • CoreData und Autosave?

    Hallo,

    da CoreData so etwas nicht von Haus aus anbietet, frage ich mich "warum"?.

    Gibt es noch Probleme damit?
    Hat schon jemand Erfahrungen damit gemacht?

    Ich habe vor NSTask für [managedObjectContext save: ] zu verwenden. Wäre das ok oder gibt es eine elegantere Lösung?

    Vielen Dank
    Coding is poetry. Cocoa the inspiration (Meine Posts bitte nicht mit IE betrachten. Ich tue das auch nicht.)
  • RE: CoreData und Autosave?

    CD lädt ja bei Verwendung der SQl-Storage-Engine erst gar nicht vollständig in den Speicher. Du kannst dir also überlegen, vor "öffnen" des Dokumentes eine Kopie in einen Temp-Ordner zu machen (Das macht eigentlich schon CD, aber ich weiß nicht, wie du rankommst) und erst dann zu öffnen.
    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: CoreData und Autosave?

    Das Problem bei mir ist, dass die noch nicht gespeicherten Daten im Falle von einem Crash verloren gehen.

    Wenn ich aber nun [managedObjectContext save: ] aufrufe, werden dann nicht alle nicht gespeicherten Daten in PersistenceStore gespeichert, unabhängig davon, ob die Daten schon vorher geladen sind oder nicht?

    Mir geht es wesentlich um Datenrettung nach einem Crash.

    Danke nochmals
    Coding is poetry. Cocoa the inspiration (Meine Posts bitte nicht mit IE betrachten. Ich tue das auch nicht.)
  • RE: CoreData und Autosave?

    Das Problem bei mir ist, dass die noch nicht gespeicherten Daten im Falle von einem Crash verloren gehen.

    *räusper* Das ist das Problem? Sicher?

    Doch, das werden sie. Und es geht kein revert mehr. Willst du das wirklich dem User als Lösung anbieten?
    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: CoreData und Autosave?

    Original von Tom9811
    Willst du das wirklich dem User als Lösung anbieten?


    Das ist mir nur als Lösung eingefallen. Gibt es eine bessere alternative oder hab ich etwas versäumt?
    Coding is poetry. Cocoa the inspiration (Meine Posts bitte nicht mit IE betrachten. Ich tue das auch nicht.)
  • RE: CoreData und Autosave?

    Ich wollte eigentlich im vorigen Post noch schreiben :

    'Aber bitte nicht mit "programmiere dein programm so dass es nicht abstürtzt" antworten. '

    Dann dachte ich aber: naja das wäre überflüssig, das ist ja selbstverständlich und wir reden hier von Extremfällen die in jeder Software mal passieren und spätestens nach Bugreport gefixt werden kann.

    Ich hätte es doch schreiben sollen !

    Oder ist mit "Crash vermeiden" etwas anderes gemeint? Kann man denn so etwas abfangen?

    Also kann man nun davon ausgehen, dass [managedObjectContext save: ] ohne Probleme funktioniert? Gibt es in CD Zustände, wo save: Exceptions werfen kann? Muss man vorher commit: oder so etwas ähnliches Aufrufen?
    Coding is poetry. Cocoa the inspiration (Meine Posts bitte nicht mit IE betrachten. Ich tue das auch nicht.)
  • RE: CoreData und Autosave?

    Ja. ABER in einem NSTask. Also der Benutzer arbeitet und ändert sogar evtl. die CD Daten während im Hintergrund die CD Daten mit save: gespeichert werden.

    Ich denke ich habe eine alternative (bessere) Lösung gefunden für Autosave u. mein Problem

    cocoadev.com/index.pl?StackTraces

    Das war auch wohl mit "nicht abstürzen lassen" gemeint :)
    Coding is poetry. Cocoa the inspiration (Meine Posts bitte nicht mit IE betrachten. Ich tue das auch nicht.)
  • Also kann man nun davon ausgehen, dass [managedObjectContext save: ] ohne Probleme funktioniert? Gibt es in CD Zustände, wo save: Exceptions werfen kann? Muss man vorher commit: oder so etwas ähnliches Aufrufen?

    Schau einfach mal in die applicationShouldTerminate-Methode von der CD-Vorlage. Da sieht man ganz gut, wie Fehler beim speichern abgefangen werden können. [managedObjectContext save] wirft keine Exceptions, sondern gibt NO zurück, wenn was schiefgelaufen ist...
  • Ja, wird es.

    Also noch einmal: Du hängst dich in das öffnen des Dokumentes. Dort fertigst du zunächst eine Kopie und öffnest dann diese. Über einen Timer schickst du ständig save-Nachrichten. Die wirken sich dann ja nur auf die Kopie aus. Beim wirklichen Save kopierst du dann zurück.

    Scheiße, ich muss zu Gericht.
    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"?