У меня есть UIViewController, который я хочу использовать в качестве базового контроллера для других контроллеров представлений. Базовый контроллер имеет UICollectionView, который имеет все прототипы UICollectionViewCell и некоторые другие виды заглушек, разработанные в раскадровке.Base UIViewController с UICollectionView
Все контроллеры детского вида имеют одну общую черту, которая является UICollectionView и имеет свои собственные представления в раскадровке. Я хочу использовать ячейки прототипа, созданные в представлении коллекции контроллера базы данных, для заполнения UICollectionView контроллера детского представления. Я не хочу копировать ячейки прототипа пасты из представления коллекции базового контроллера в представление коллекции дочерних контроллеров.
Базовый контроллер выполняет некоторые действия по выбору ячеек, которые являются общими для всех дочерних контроллеров. Ребенок-контроллер должен иметь возможность запрашивать какую-либо клетку-прототип из базового контроллера, дочерний элемент будет определять, какую ячейку заполнить, используя идентификаторы ячеек.
Я должен иметь возможность создавать дочерние контроллеры вместо базового контроллера, используя их идентификаторы раскадровки. Я хочу делать максимальные вещи в раскадровке. Как это можно сделать? Пожалуйста, предложите или любой другой лучший подход.
Я программирую в Objective-C.
Вы оценили, какая из них имеет лучшую производительность? – mgyky
Моя проблема не связана с производительностью, а с кодовой структурой и обработкой событий.Ответ выше спасал мне много времени, потому что я не создал какую-либо прототипную ячейку в коллекцииView в раскадровке, ни один из связанных с размером элементов в моем childViewController, у которых был CollectionView, не обрабатывался. В любой момент мне пришлось внести изменения в какой-либо из коллекцииViewCell, я бы пошел на его XIB и изменил его. Напротив этого, если я скопировал вложенные ячейки прототипа во все коллекции, мне пришлось изменить каждого из них. –
ОК, спасибо ... – mgyky