Это не работает, потому что вы отправляете removeFromSuperview неправильному объекту просмотра.Это то, что вам нужно:
[medicalViewObject.view removeFromSuperview];
РЕДАКТИРОВАТЬ:
Ваш вопрос предполагает, что у вас есть представление (поскольку вы не включили название этого представления в свой вопрос, я просто позвонюэто MainView), а затем вы добавляете подпредставление medicalViewObject для вашего MainView.У вас также есть вызов метода «BackToMainView», который вы хотите выполнить функцию removeFromSuperview.Ваш вопрос предполагает, что некоторые действия пользователя в вашем medicalViewObject (например, нажатие кнопки) должны вызывать метод «BackToMainView».
Если это все правильно, то мой ответ выше верен.Но на основании вашего комментария кажется, что вам также необходимо реализовать протокол делегата в вашем medicalViewObject, а затем заставить ваш «MainView» принять протокол.
В своем объявлении делегата в своем medicalViewObject вынужно иметь вызов метода, подобный этому:
-(void)backButtonWasPressed;
, и в реализации вашего MainView он должен выглядеть примерно так:
-(void)backButtonWasPressed
{
[medicalViewObject.view removeFromSuperview];
}
Так что теперь, какое бы пользовательское действие вы не использовалив вашем medicalViewObject для возврата к главному виду (будь то кнопка или какой-либо другой объект) необходимо вызвать следующее:
[delegate backButtonWasPressed];
В зависимости от вашей ситуации это может выглядеть немного иначе, но это довольноОбщий способ выполнить то, что вы пытаетесь сделать.Надеюсь, это поможет.