Каким образом они должны отличаться? (Я основываю свой ответ на предположении, что его можно обработать, установив какую-то переменную состояния в классах или с помощью специального метода инициализации)
Я бы посоветовал вам создать какую-то форму пользовательских методов инициализации или переменных экземпляра, которые вы устанавливаете для классов, которые должны иметь различное поведение. Затем вы можете использовать пользовательские настройки в настройках сборки для каждой цели.
Проверьте этот вопрос и ответ для получения дополнительной информации: iphone: get Пользовательская переменная в настройке цели по коду?
По сути, у вас может быть параметр, который будет такой строкой: «Стандартный», вы извлекаете его из
FooBarClass.h
typedef enum { FooBarSettingNormal, FooBarSettingFast } FooBarSetting;
-(id)initWithSetting:(FooBarSetting)setting;
Затем извлеките переменную, установленную в настройках сборки, из кода и инициализируйте объект FooBar следующим образом:
SomeViewController.m
NSNumber* fooBarSetting = [[[NSBundle mainBundle] infoDictionary] valueForKey:@"FooBarSetting"];
FooBar * baz = [[FooBar alloc] initWithSetting:[fooBarSetting intValue]];
Это позволяет вам иметь различное поведение в ваших классах и хранить статическую библиотеку отдельно и автономно от проекта, который вы используете.
Я надеюсь, что вы найдете это несколько полезным :)
person
oehman
schedule
25.09.2012