Ich versuche, eine Gruppe von Obj-C Clases zwischen iPhone-Anwendungen wiederzuverwenden. Die Werte, die sich von App zu App unterscheiden, wurden isoliert und ich versuche herauszufinden, wie ich diese benutzerdefinierten Werte am besten auf die Klassen auf einer App-zu-App-Basis anwenden kann.
Sollte ich sie in einem Code festhalten?
// 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];
Soll ich sie in einem großen Behälter aufbewahren? 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];
Sollte ich kleine, optionale n_settings.plist
s für jede Klasse?
// 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];
Oder gibt es eine OO-Lösung, an die ich noch gar nicht gedacht habe, die besser wäre?