Я пытаюсь повторно использовать группу предложений Obj-C между приложениями iPhone. Значения, которые различаются в разных приложениях, были изолированы, и я пытаюсь найти наилучший способ применить эти пользовательские значения к классам в зависимости от приложения.
Должен ли я держать их в коде?
// I might have 10 customizable values for each class, that's a long signature!
CarController *controller = [[CarController alloc] initWithFontName:@"Vroom" engine:@"Diesel" color:@"Red" number:11];
Должен ли я хранить их в большом settings.plist
?
// Wasteful! I sometimes only use 2-3 of 50 settings!
AllMyAppSettings *settings = [[AllMyAppSettings alloc] initFromDisk:@"settings.plist"];
CarController *controller = [[CarController alloc] initWithSettings:settings];
[settings release];
Должен ли я иметь немного, необязательно n_settings.plist
с для каждого класса?
// Sometimes I customize
CarControllerSettings *carSettings = [[CarControllerSettings alloc] initFromDisk:@"car_settings.plist"];
CarController *controller = [[CarController alloc] initWithSettings:carSettings];
[carSettings release];
// Sometimes I don't, and CarController falls back to internally stored, reasonable defaults.
CarController *controller = [[CarController alloc] initWithSettings:nil];
Или есть ОО-решение, о котором я вообще не думаю, что было бы лучше?