Интересно, для чего нужны рекомендации:
1 - как часто я могу читать из NSUserDefaults
2 - сколько данных я могу разумно хранить в NSUserDefaults
Очевидно, существуют ограничения на то, сколько NSUserDefaults можно использовать, но у меня есть проблемы с определением того, что разумно, а что нет.
Некоторые примеры среди других:
-
Если в моей игре есть опция для того, чтобы компьютер был одним из игроков, я буду использовать NSUserDefaults, чтобы сохранить это логическое значение. Это ясно. Но также разумно ли обращаться к NSUserDefaults во время моей игры каждый раз, когда я хочу знать, является ли компьютер игроком или я должен использовать вместо него переменную экземпляра? Предположим, что мне нужно проверять, что булевая каждую секунду. Является ли ответ тем же самым 100 мс вместо этого? Как насчет каждые 10 с?
-
Если в моей игре 50 движущихся объектов, и я хочу, чтобы их позиции и скорости сохранялись, когда пользователь закрывает приложение, NSUserDefaults является разумным местом для хранения этих данных? Что относительно 20 движущихся объектов? Что насчет 200?