2013-07-01 2 views
0

У меня был контроллер вида, который инициализирован в appdelegate. Я добавил, что viewcontroller для контроллера навигации с addubview methode, чтобы показать его над панелью навигации. Теперь я добавляю другое представление viewcontrollers в качестве подзадачи этого представления. Теперь когда я нажав кнопку на подвид мне нужно выполнить некоторые methodes в superview.I попытался это way`как вызвать метод в представлении из подвью?

appdelegate.viewcontroller =(ViewController*)self.view.superview; 

    } 
    if(appdelegate.viewcontroller==nil) 
    { 

     NSLog(@"appdelegate viewcontroller nil"); 

    } 
    else 
    { 

    [appdelegate.viewcontroller setmessage:@""]; 
    } 

`Но это дает мне сообщение об ошибке, как

[UIView setmessage:] : непризнанный селектор отправлен в instance.Can кто-нибудь указать мне, где я иду не так?

+0

Эта ссылка не совсем относится к вашему que. Но может быть полезно --- ** http: //stackoverflow.com/questions/6302346/how-to-update-superview-from-its-subview-in-ipad? Rq = 1 ** –

ответ

0
for (UIView* next = [self.view superview]; next; next = next.superview) 
    { 
     UIResponder* nextResponder = [next nextResponder]; 
     if ([nextResponder isKindOfClass:[UIViewController class]]) 
     { 
      [(UIViewController*)nextResponder viewWillAppear:YES]; 
     } 
    } 
+0

как я буду назначать это для объекта viewcontroller? – hacker

+0

appdelegate.viewcontroller = [self viewController]; – lakesh

+0

[self superview] дает мне предупреждение, так как нет экземпляра метода и ушел, когда я перешел на [self.view superiew], но фактическая ошибка сохраняется. Так же присваивание, как это дает мне назначение несовместимого типа указателя, назначающего – hacker

Смежные вопросы