Копирование контроллеров представления в Swift - PullRequest
0 голосов
/ 23 мая 2018

Очень начинающий Swift-программист здесь.Недавно я создал модальное всплывающее окно (MP1) с использованием отдельного контроллера представления.Теперь я хочу добавить второе всплывающее окно (MP2), разделяющее многие свойства первого.Мне удалось создать копию первой в основной раскадровке (копировать вставить), но у меня есть несколько вопросов о том, как действовать.

1) Это также копирует связанный код из MP1?Если так, как я могу найти это?(извините, если это вопрос для начинающих).

2) Считает ли swift его отдельным справочным указателем, или же кнопки и т. д., вызывающие первую, также теперь вызывают вторую?

3) I 'Нам удалось переименовать MP2, отредактировав имя в списке слева от экрана (где отображаются все контроллеры представления и все их элементы).Тем не менее, на главной раскадровке (в прямоугольнике над раскадровкой) он по-прежнему называется MP1.Как мне это изменить?

1 Ответ

0 голосов
/ 23 мая 2018

Когда вы создаете ViewController, он связывается с классом ViewController (файл Swift, проще говоря).Когда вы копируете VC, он будет связан с тем же классом, что и первый.

Вы можете проверить, с каким классом он связан, перейдя в storyboard и проверив вкладку на вкладке Utilities (тот, что справа), затем нажмите Identity inspector (маленький значок, похожий на удостоверение личности), как показано на этом скриншоте;класс, с которым он связан, отображается как «Класс XXXXX» в верхней части вкладки.

enter image description here

Редактировать - чтобы ответить на комментарий: я бы сделалкласс, который наследуется от UIViewController, который будет содержать весь код, который будут использовать оба VC, затем создаст два отдельных класса, которые будут наследоваться от этого нового класса, а затем свяжет каждый VC с соответствующим классом, который вам понадобится.Вот пример.И MyNewViewController 1, и 2 наследуются от ViewControllerWithCommonCode, а мои ViewController связаны с 1 и другим.

В качестве напоминания, чтобы наследовать от класса в Swift, синтаксис выглядит следующим образом:

class MyNewViewController : ViewControllerWithCommonCode {
    // ...
}

Отдельные контроллеры View

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...