So wissen Sie, wann Benutzer Änderungen an den Einstellungen Bündel vorgenommen hat

StackOverflow https://stackoverflow.com/questions/5482573

  •  14-11-2019
  •  | 
  •  

Frage

Ich lasse den Benutzer Änderungen an ihren Einstellungen im Bereich des Einstellungsbereichs des iPhone vornehmen.Während der nächsten Netzwerksynchronisation möchte ich die Benutzeränderungen an den Server senden.Aber nur, wenn die Änderungen vorgenommen werden.

aber woher weiß ich, wann der Benutzer in dem Bereich der Einstellungen eine Änderung vorgenommen hat?

Wenn ich kann, möchte ich eine Option vermeiden, die Informationen immer zu senden, unabhängig davon, ob er zuerst geändert oder nicht oder nicht ermittelt wird, oder die Informationen vom Server erhielt, und aktualisieren Sie, ob sich der Benutzer von dem Benutzer default.

Gibt es eine schöne und elegante Art, dieses Problem zu lösen? Vielen Dank für Ihre Hilfe!

Eine Woche später und keine Antworten ... Ist diese Frage zu hart oder es macht überhaupt keinen Sinn?

War es hilfreich?

Lösung

ah dumm mir!Hier gehen wir mit elegantem Weg.Suchen Sie nach AppPrefs in der Apple-Dokumentation innerhalb von Xcode, und es wird eine beispielhafte App angezeigt, die genau das tut, was Sie tun möchten.Einfach kompilieren und laufen!Es nutzt den nsuserdefaultsdidchangenotifizierung .

Dies ist der Code, der zum Registrieren eines Beobachters verwendet wird: generasacodicetagpre.


alte Antwort:

Es sieht nicht aus, als könnten Sie einen Änderungsdatum aus den NSUserDefaults erhalten.Bis jetzt kann ich nur auf diese Weise denken: generasacodicetagpre.

Sie müssen den Benutzer speichern, in dem sich selbst speichern sollen, da die App beim ersten Start der App gestartet wird: Ihre Standardwerte.Jedes Mal, wenn die App geöffnet ist, vergleichen Sie diese beiden Wörterbücher.Wenn sie

Andere Tipps

Es ist nicht so, dass die Frage zu hart ist, es ist nur ein einfacher Weg, um das zu tun, was Sie fragen.Nsuserdefaults zeichnet kein "zuletzt modifiziertes" -Datum für die einzelnen App-Einstellungen auf, zumindest soweit ich erkennen kann. Wenn der Benutzer einige Einstellungen mithilfe der Einstellungs-App ändert, gibt es keinen guten Weg, um dieses andere zu erkennenAlle Einstellungen.

Wenn Sie dies wirklich tun müssen, denke ich, dass Ihre beste Wette die Einstellungen lesen soll, die Sie daran interessieren, an einer Datenstruktur zu synchronisieren und eine Art Hash- oder Prüfsumme zu berechnen, basierend auf dieser Struktur.Vergleichen Sie diesen Wert auf den Wert, den Sie das letzte Mal berechnet haben, wenn die App wiedergefahren ist, und synchronisieren Sie den Server, wenn es anders ist.Sie können diesen Wert in nsuserdefaults speichern, wenn Sie möchten, aber sicherstellen, dass Sie ihn nicht in die Berechnung einschließen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top