Лучший способ записать новое имя пакета и перетащить его из старого имени пакета. Второй способ, если вы нажмете Refactor, затем переместите опцию, затем переименуйте имя пакета, он переименует имя пакета, а затем перестроит.
В Build.gradle Вам нужно сделать вручную, если u Refactor, то он не будет переименован в build.gradle.
Короткий ответ - то, что Вы не делаете. Причина состоит в том, что свойства являются действительно просто методами, и при попытке изменить тип возврата, Вы получаете это:
Objective C делает не , позволяют ковариантность типа возврата.
то, Что можно сделать, добавляет новое свойство "myView" и заставляет его просто преобразовать тип свойства "представления". Это облегчит преобразования типа всюду по Вашему коду. Просто присвойте свой подкласс представления свойству представления, и все должно хорошо работать.
Свойство/метод представления UIViewController возвратит Ваше представление автоматически. Я думаю, что необходимо будет просто бросить результат в MyView (или просто использовать идентификационный тип):
MyView *myView = (MyView*)controller.view;
id myView = controller.view;
я думаю код, который Вы отправили выше, вызовет Вас проблема. Вы, вероятно, не хотите создавать участника представления сами (потому что тогда контроллер будет хранить 2 представления и не мог бы использовать правильное внутренне), или переопределите свойство представления (потому что UIViewController имеет специальную обработку для него.) (См. этот вопрос для большего количества информации о последнем.)