Это моя раскадровки: Как получить доступ к tabBarController из AppDelegate.m?
Я пытаюсь получить доступ к tabBarController из метода внутри AppDelegate.m
Это AppDelegate.h:
#import <UIKit/UIKit.h>
#import <FacebookSDK/FacebookSDK.h>
#import "STAlertView.h"
@interface demo_AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@property (nonatomic, strong) STAlertView *av;
@end
И это AppDelegate.m:
#import "demo_AppDelegate.h"
#import "demo_Friends_ViewController.h"
@implementation demo_AppDelegate
-(void)showFriendReqAlert:(NSNotification *)pNotification{
NSLog(@"Hello from showFriendReqAlert:");
NSLog(@"Root: %@", [self.window.rootViewController.navigationController.tabBarController viewControllers]);
}
....
....
....
....
@end
Моим главным мотивом является этот метод showFriendReqAlert:
c а для третьей позиции табуляции отображается красный значок, который равен Friends
. Но всякий раз, когда я пытаюсь выбрать tabBarItem, он говорит null в NSLog.
Я также попытался следующее: self.window.rootViewController.navigationController.tabBarController self.window.rootViewController.tabBarController
, но ничего не работает. Любая помощь?
Спасибо!
Какова цель контроллера навигации между экрана входа в систему и панель вкладок? Какого рода segue вы используете при входе в систему? Ваш экран входа в систему не встроен в контроллер навигации, поэтому я ожидаю, что self.window.rootViewController.navigationController будет равен нулю. –
У меня точно такая же проблема. RootViewController - это экран входа в систему, и я хочу изменить значок после получения уведомления. Вы решили свою проблему? –