2013-09-16 3 views
1

В моем приложении для каждой игры, сохраненной на устройстве, я храню игровой объект в NSDictionary вместе с некоторыми другими метаданными, которые архивируются в NSKeyedArchiver.Разделяет ли Unarchiving NSDictionary с помощью NSKeyedUnarchiver все объекты, которые он содержит?

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

У меня есть 2 вопроса. Является ли каждый объект в NSDictionary выделенным, когда он не имеет аналогов? Если это так, архивирует игровой объект как NSData, а затем архивирует его снова внутри NSDictionary более эффективно? По существу архив в архиве.

ответ

2

Да, весь словарь одновременно не архивируется. Возможно, вы захотите создать некоторую оболочку и/или сохранить каждое состояние игры в виде 2 файлов (один для метаданных и один для полного состояния), возможно, с каждой игрой в своей собственной папке.

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

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

  • Нет связанных вопросов^_^