2015-10-12 14 views
5

Ben ilk görünüm denetleyicisi olarak film şeridinde bir TabBarController var döndürürTabBarController boş

enter image description here

enter image description here

ben

yapmaya çalışıyorum bu ne return null Başlangıçta

UITabBarController* tabbarController = (UITabBarController*) self.tabBarController; 
NSLog(@"%@",tabbarController); 
NSLog(@"%@",self.navigationController.tabBarController); 

yapar nasıl

NSMutableArray *newTabs = [NSMutableArray arrayWithArray:[self.tabBarController viewControllers]]; 
NSLog(@"\n\n\n%lu\n\n\n",(unsigned long)[newTabs count]); 
NSLog(@"self.tabBarController.viewControllers %@ \n\n",self.tabBarController); 
[newTabs removeObjectAtIndex: 1]; 
[self.tabBarController setViewControllers:newTabs]; 

Niçin boşlanıyorum?

+0

eklemek? Hangi yöntem çağrılıyor? – Leonardo

+0

'XCTabViewController.m' adlı görüntüde 5 saniyeden sonra görüntüleniyor [kendini gerçekleştirmeSelector: @selector (delayed) withObject: nil afterDelay: 5]; ' –

+1

Daha sonra, kendi kendini UITabBarController yapamaz mı? Bunun yerine self.tabBarController' – Leonardo

cevap

4

nedeni boş döndürülür, self gibi görünmelidir self.tabBarController

Kişisel kod üzerinde UITabBarController, bu nedenle, yok bir şey olmasıdır:

NSMutableArray *newTabs = [NSMutableArray arrayWithArray:[self viewControllers]]; 
NSLog(@"\n\n\n%lu\n\n\n",(unsigned long)[newTabs count]); 
NSLog(@"self.viewControllers %@ \n\n",self); 
[newTabs removeObjectAtIndex: 1]; 
[self setViewControllers:newTabs]; 
1

Kontrol dışarı Joe'nun Cevap self.tabBarController is NULL

Gezinme denetleyiciniz varsa, bunu YourTabBarViewController.h dosyanıza ekleyin

@property (nonatomic, retain) UITabBarController * myTabBarController; 

Sonra viewDidLoad YourTabBarViewController.m dosyada sadece kendini atamak ve temsilci bu kodu

self.myTabBarController = self; 
self.myTabBarController.delegate = self;