Celem [default synchronize];
jest ustawienie domyślnych ustawień użytkownika na dysku natychmiast. Nie musisz tego wyraźnie wywoływać, iOS już to robi w odpowiednich momentach. Możesz więc usunąć tę linię. W rzeczywistości jest to problem z wydajnością, jeśli wywołasz synchronize
za każdym razem, gdy ustawisz wartość domyślną.
Przed iOS 7 użytkownik domyślnie jest zawsze synchronizowany, gdy aplikacja przechodzi w tło. Od wersji iOS 7 nie ma już miejsca, więc możesz zadzwonić pod numer
synchronize
w swoim uczestniku
applicationDidEnterBackground:
lub zarejestrować się w powiadomieniu
UIApplicationDidEnterBackgroundNotification
, aby to zrobić.
Od the documentation for -[NSUserDefaults synchronize]
:
Ponieważ metoda ta jest automatycznie wywoływana w regularnych odstępach czasu, należy użyć tej metody tylko wtedy, gdy nie można czekać do automatycznej synchronizacji (na przykład, jeśli aplikacja ma zamiar wyjść) lub jeśli chcesz aby zaktualizować domyślne ustawienia użytkownika na dysku, nawet jeśli nie wprowadzono żadnych zmian.
Nie wypróbowałeś instrukcji obsługi, prawda? – JustSid
zabawne, ponieważ znalazłem tę stronę przez Google, szukając tego samego pytania. – likebeats
Krótko mówiąc, nie musisz go używać. Zobacz moją odpowiedź poniżej. – Seryozha