Более длинные ключи сделают файл NSKeyedArchiver значительно длиннее

StackOverflow https://stackoverflow.com/questions/1652682

Вопрос

Когда я заполню encodeWithCoder: для целевых классов c для приложения iPhone, будет ли он увеличивать размер файла архива, если я буду использовать длинные ключи, а не короткие ключи для всех моих переменных?

Например, если я использую очень длинные ключи, как это:

[coder encodeBool:myBoolean forKey:@"My_Excesively_Long_Boolean_Key"];

сделает файл архива длиннее, чем если бы я использовал такие вещи:

[coder encodeBool:myBoolean forKey:@"Key01"];

Предполагая, что у меня есть большое количество целых и BOOL.

Это было полезно?

Решение

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

Использование длинных уникальных ключей, констант, имен классов, ivars и т. д. активно поощряется благодаря открытому пространству имен Objective-C.

Другие советы

Чем больше размер архива, тем больше времени требуется для его восстановления в структуре данных. Размер вашего архива слишком мал по сравнению с объемом флэш-памяти, доступным в наши дни (в 2011 году).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top