현재 탭바와 다중 뷰 콘트롤러가있는 iPhone 애플리케이션이 있습니다. 모든 뷰는 Interface Builder에서 설계되었습니다. viewcontroller에서 tabbar의 현재 선택된 인덱스를 가져올 수 있기를 원하지만 어떤 이유로이 속성이 null을 반환합니다.현재 뷰 콘트롤러에서 선택된 탭의 selectedIndex 얻기
self.tabBarController.selectedIndex
어떻게이 작업을 수행하는 올바른 방법이 될 것이다 :
나는 내의 ViewController의 viewDidLoad에 기능에 다음이라고?AppDelegate 클래스의 코드로 업데이트되었습니다.
MyAppDelegate.h
#import <UIKit/UIKit.h>
@interface MyAppDelegate : NSObject <UIApplicationDelegate, UITabBarControllerDelegate> {
UIWindow *window;
UITabBarController *tabBarController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UITabBarController *tabBarController;
@end
MyAppDelegate.m :
#import "MyAppDelegate.h"
@implementation MyAppDelegate
@synthesize window, tabBarController;
- (void)applicationDidFinishLaunching:(UIApplication *)application {
[window addSubview:tabBarController.view];
}
- (void)dealloc {
[tabBarController release];
[window release];
[super dealloc];
}
@end
tabBarController의 값은 무엇이고 어떤 클래스를 가리키고 있지 않은지 확인하십시오. – zaph
나는 당신이 의미하는 바를 정확히 이해하기를 바랍니다. 나는 꽤 초보자이다. 그것은 초기 질문에서 분명히 드러날 것이다. 어쨌든 [self.tabBarController class]는 UITabBarController를 반환합니다. 이것은 예상되는 것입니까? – mensch