Pracuję nad aplikacją opartą na danych nie opartą na dokumencie.Automatyczne zapisywanie danych za pomocą kakao i danych podstawowych
Chciałbym, aby zmiany zostały zapisane w momencie ich pojawienia się. Tego właśnie oczekuje użytkownik w tego typu aplikacjach. To właśnie firma Apple zaimplementowała w wersji iPhoto lub iTunes.
Metoda brute force polegałaby na ustawianiu licznika czasu do częstego zapisywania. Metoda wywołana przez zapisywanie połknąłaby wszystkie błędy sprawdzania poprawności, aby nie przeszkadzać użytkownikowi. Dopiero po wyjściu użytkownik zostanie zabrudzony w celu uporządkowania danych, aby mógł je zapisać. IMHO, to podejście śmierdzi.
Tak więc myślę, że musi istnieć sposób, aby w jakiś sposób przechwycić oszczędzanie na coś podobnego do protokołu NSEditor
. Za każdym razem, gdy użytkownik (lub kontroler) zakończy edytowanie danych, delegat aplikacji powinien zostać powiadomiony o wyzwalaniu operacji składowania. Chodzi o to, że nie wiem, gdzie szukać.
Myślę, że dla bardziej skomplikowanych operacji, które mogą wymagać pewnych sprawdzeń krzyżowych, przedstawiłbym użytkownikowi nieco interfejsu związanego z dedykowanym NSManagedObjectContext
.
Jeśli już wspierać cofnąć, wystarczy zapisać go w każdej chwili pchnąć coś na stosie cofania. –
Nie obsługuję jeszcze operacji Cofnij. Używam tylko tego, co zapewnia CoreData. Ale robisz mocne argumenty za rozszerzoną obsługą cofania. –