Вы можете использовать JSON или PLISt для связи, хотя двоичный plist - по мнению Apple - намного быстрее на стороне телефона.
Создать словарь из двоичного Plist относительно просто:
NSPropertyListFormat format;
NSDictionary *myDictionary = [NSPropertyListSerialization
propertyListFromData:data mutabilityOption:NSPropertyListMutableContainers
format:&format errorDescription:&errorString];
Для его создания из JSON требуется только одна из доступных библиотек JSON. Когда у вас есть словарь, сохраните его:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);
NSString *file = [NSString stringWithFormat: @"%@%@.plist", [paths objectAtIndex:0], @"MyPlistBaseName"];
[plist writeToFile: file atomically:NO];
И перезагрузите его позже:
NSDictionary *plist = [[[NSDictionary alloc] initWithContentsOfFile: file] autorelease];
Однако, если вы инкапсулируете доступ к этим данным в одноэлементном режиме, вы можете беспокоиться об оптимизации реализации, если скорость / память становятся проблемой. Просто используйте этот признак как «владельца» данных с помощью таких методов, как count
, getGroup(0)
(чтобы вернуть блок 25) и т. Д. Затем вы можете скрыть все детали реализации внутри объекта.