Идеальная структура - это словарь словарей.
A = {
A1 = 36;
A2 = 42;
A3 = 89;
};
B = {
B1 = 64;
...
Плист - это просто (набор) формат сериализации. Я не вижу, как это побеждено.
Для хранения значения ключ-значение у вас есть 2 варианта.
(1) Создать новый класс.
@interface StringNumberPair : NSObject {
NSString* strval;
int intval;
}
@property(copy) NSString* strval;
@property(assign) int intval;
-(id)initWithString:(NSString*)strval_ integer:(int)intval_;
@end
...
[theDict setObject:[[[StringNumberPair alloc] initWithString:@"string"
integer:42] autorelease]
forKey:@"key"];
- Pro - понятный интерфейс.
- Минусы - вам нужно написать много кода.
(2) Сделать значение массивом:
[theDict setObject:[NSArray arrayWithObjects:
@"string", [NSNumber numberWithInt:42], nil]
forKey:@"key"];
или словарь:
[theDict setObject:[NSDictionary dictionaryWithObjectsAndKeys:
@"string", @"strval",
[NSNumber numberWithInt:42], @"intval",
nil]
forKey:@"key"];
- Pro - это стандартные типы для хранения структурированных значений. Это легко сериализуемо к списку.
- Минусы - массивы и словарь слишком гибкие.