Как я переопределяю свойство “представления” в UIViewController?

Лучший способ записать новое имя пакета и перетащить его из старого имени пакета. Второй способ, если вы нажмете Refactor, затем переместите опцию, затем переименуйте имя пакета, он переименует имя пакета, а затем перестроит.

В Build.gradle Вам нужно сделать вручную, если u Refactor, то он не будет переименован в build.gradle.

28
задан Keith Fitzgerald 14 March 2009 в 19:22
поделиться

2 ответа

Короткий ответ - то, что Вы не делаете. Причина состоит в том, что свойства являются действительно просто методами, и при попытке изменить тип возврата, Вы получаете это:

  • (UIView *) представление;
  • (MyView *) представление;

Objective C делает не , позволяют ковариантность типа возврата.

то, Что можно сделать, добавляет новое свойство "myView" и заставляет его просто преобразовать тип свойства "представления". Это облегчит преобразования типа всюду по Вашему коду. Просто присвойте свой подкласс представления свойству представления, и все должно хорошо работать.

18
ответ дан NilObject 14 October 2019 в 11:05
поделиться

Свойство/метод представления UIViewController возвратит Ваше представление автоматически. Я думаю, что необходимо будет просто бросить результат в MyView (или просто использовать идентификационный тип):

MyView *myView = (MyView*)controller.view;
id myView = controller.view;

я думаю код, который Вы отправили выше, вызовет Вас проблема. Вы, вероятно, не хотите создавать участника представления сами (потому что тогда контроллер будет хранить 2 представления и не мог бы использовать правильное внутренне), или переопределите свойство представления (потому что UIViewController имеет специальную обработку для него.) (См. этот вопрос для большего количества информации о последнем.)

4
ответ дан Community 14 October 2019 в 11:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: