У меня есть, может быть, немного нетрадиционный вопрос. Я работаю над приложением, которое имеет два разных основных объекта данных (сеансы и подпрограммы). Впоследствии у меня есть два разных контроллера представлений в построителе интерфейса, чтобы заполнить атрибуты этих объектов. Дело в том, что эти два объекта идентичны, кроме того, что мне нужны сеансы, чтобы иметь отношение много к одному с объектом и подпрограммами клиентов, чтобы не иметь никаких отношений.Программно изменяемый класс контроллера вида просмотра (быстрый)
Вопрос в том, что. Id нравится использовать один и тот же контроллер представления в построителе интерфейса для моего сеанса и классов подпрограмм, есть ли способ, с помощью которого я могу программно определить, на какой класс назначен конструктор представлений интерфейса, на основе идентификатора segue? Я знаю, что это должно быть какое-то заявление if segue.identifier == "myIdentifier" { /*code for changing destination view controller's class*/}
, но я не уверен, что будет с кодом, и я также хочу услышать другие предложения о том, как это сделать более эффективно.
Спасибо!
Это звучит из вашего описания, как будто сеанс может быть реализован как подкласс класса. В этом случае ваш контроллер просмотра должен будет иметь дело с отображением подпрограммы, даже если ему был дан дочерний объект (сеанс) для работы. –
Невозможно изменить класс контроллера представления назначения, созданный с помощью segue. Но почему бы не закодировать контроллер своего вида, чтобы он мог принимать либо сеанс, либо обычный объект как свойство (легко, если, как предлагает @PhillipMills, вы делаете один подкласс другого). – pbasdf