2012-06-07 5 views
3

Я пытаюсь перейти от класса UIViewController (имя CartViewController) к Appdelegate (имя SimpleDemoAppDelegate), нажав кнопку «Button».Навигация От UIViewController до Appdelegate

Метод и код IBAction на кнопку является

-(IBAction) Go 
{ 
    AppDelegate *appDelegate = (AppDelegate *) [UIApplication sharedApplication].delegate; 
    UIViewController* presentingViewController = appDelegate.viewController; 
} 

Я также попытался

-(IBAction) Go 
{ 
    SimpleDemoAppDelegate *appdelegate=(SimpleDemoAppDelegate *)[UIApplication sharedApplication].delegate; 
    [self.navigationController presentModalViewController:appdelegate animated:YES]; 
} 

и pushViewController тоже, но это показывает предупреждение.

несовместимого тип указателя отправки «SimpleDemoAppDelegate *» для параметра типа "UIViewController *

Может кто-нибудь объяснить мне, почему я вижу это предупреждение?

+1

Я думаю, вы не можете перейти к 'AppDelegate' класса. Его называют очень первым, когда приложение запускается и обычно используется для хранения глобальных переменных и функций. Просто вызовите эти методы и переменные из любого класса ... –

+0

Что вы подразумеваете под управлением AppDelegate ...? [self.navigationController popToRootViewController]; тот, который вы завершаете? –

+0

Я также пробовал..SimpleDemoAppDelegate * obj = [[SimpleDemoAppDelegate alloc] init]; [self.navigationController pushViewController: obj animated: YES] –

ответ

0

я думаю, что вы забыли написать ViewController свойство AppDelegate увидеть это

SimpleDemoAppDelegate *appdelegate=(SimpleDemoAppDelegate *)[UIApplication sharedApplication].delegate; 
[self.navigationController presentModalViewController:appdelegate.viewController animated:YES]; 
Смежные вопросы