2010-01-08 7 views

ответ

0

Я думаю, вопрос заключается в том, задан ли конкретный объект в пользовательских значениях по умолчанию, а не в знании того, были ли данные успешно сохранены.

По умолчанию пользователи - это просто словарь с точки зрения его API, поэтому вы можете попытаться получить объект для данного ключа. Если возвращенный объект не равен nil, то для этого ключа явно хранится что-то. И наоборот, если возврат nil, то ничего не было сохранено, и вы должны, вероятно, загрузить объект по умолчанию или выполнить какой-либо другой случай.

5

Точка NSUserDefaults заключается в том, что она прозрачно сохраняет ваши данные без вашего вмешательства, поэтому вы не можете спросить ее, сохранила ли она данные или нет.

Однако вы можете принудительно сохранить его, позвонив по телефону [[NSUserDefaults sharedUserDefaults] synchronize];, который возвращает BOOL, указав, было ли успешное сохранение. Документация для этого метода говорит:

Поскольку этот метод автоматически вызывается через определенные промежутки времени, использовать этот метод, только если вы не можете ждать для автоматической синхронизации (для Например, если ваше приложение о к exit), или если вы хотите обновить значение по умолчанию на том, что находится на диске, даже , хотя вы не внесли никаких изменений.

Смежные вопросы