Как я могу вызвать один и тот же ViewController из двух элементов TabBar? - PullRequest
0 голосов
/ 06 сентября 2011

Как я могу вызвать один и тот же ViewController из двух элементов TabBar?

Я использовал:

MyViewController * vc1 = [[MyViewController Alloc] initWithNib: @ "MyViewController" пачке: ноль]; MyViewController * VC2 = [[MyViewController Alloc] initWithNib: @ "MyViewController" пачке: ноль];

UITabBarController * Вкладки = [[UITabBarController Alloc] инициализации]; [Вкладки setViewControllers: [NSArray arrayWithObjects: VC1, VC2, ноль] анимированные: NO];

Но переменные будут сброшены, я хочу сохранить переменные.

Мой контроллер представления содержит TableView с listdata, я просто хочу показать первые три из них, когда я нажимаю одну 2-ю TabBar, но переменная listdata сбрасывается и становится nil.

Любое исправление? Спасибо

Ответы [ 2 ]

0 голосов
/ 06 сентября 2011

Один из контроллеров представления может быть подклассом другого, и в подклассе будут отфильтрованы некоторые данные.UITabBarController имеет метод делегата, который он вызывает при переключении между вкладками - вы можете использовать его для заполнения списков по мере необходимости.

0 голосов
/ 06 сентября 2011

Я не уверен, почему вы это сделали, но это, вероятно, работает.

MyViewController *vc1 = [[MyViewController alloc] initWithNib:@"MyViewController" bundle:nil]; 

UITabBarController *tabs = [[UITabBarController alloc] init];
[tabs setViewControllers:[NSArray arrayWithObjects:vc1, vc1, nil] animated:NO];
...