Я работаю над большим проектом iOS, дизайн не так хорош, как хотелось бы, но я должен придерживаться его.(иногда жизнь может быть сукой).
Дело в том, что у нас есть библиотека, которая в основном позволяет вам просматривать каталог.У вас есть фильтр, в котором вы указываете определенные критерии поиска, и вам предоставляется список, в котором вы можете нажать на интересующие вас элементы.Когда вы нажимаете на элемент, вы можете увидеть его более подробное описание.
Компания, для которой работала компания, продает одно и то же программное обеспечение многим различным компаниям, имеющим разные каталоги.Идея состоит в том, что библиотека обладает всеми основными функциями, и проект, который ее использует, может каким-то образом расширять или полностью перекрывать некоторые из указанных интерфейсов.
Для примера представьте, что в моей библиотеке 2классы, которые управляют 2 представлениями.Это будут «FilterViewController» и «DetailsViewControllers».В каком-то месте кода эти классы создаются.Это выглядело бы примерно так
Мой подход примерно такой:
Сторона ProjectA
// Here I configure the library
Library.FilterViewClass = ProjectAFilterViewController;
Library.DetailsViewClass = ProjectADetailViewController;
Сторона ProjectB
Library.FilterViewClass = ProjectBFilterViewController;
Library.DetailsViewClass = nil;
Сторона библиотеки
// Did the user configure the library?
if(self.FilterViewClass == nil){
// I alloc the default ViewController
myFilterViewController = [[FilterViewController alloc] init];
}else{
// Here I would like to alloc the custom ViewController
myFilterViewController = [[Library.FilterViewClass alloc] init]; // DaProblem!
}
Проблема с этим подходом заключается в том, что я на самом деле не знаю, если этоможно создать экземпляр объекта программно.Или, по крайней мере, я не знаю как.Может быть, я использую неправильный подход, некоторые направления будут оценены.Txs заранее!