Objective c iOS检测选项卡是否已更改

Objective c iOS检测选项卡是否已更改,objective-c,ios5,Objective C,Ios5,我有一个选项卡式iOS应用程序。我需要知道哪个选项卡处于活动状态,并检测选项卡何时更改。在序列图像板中,我有一个选项卡视图控制器,当您单击选项卡时,它会更改视图。我创建了一个类TabBarController,其定义如下: 标题 @interface TabBarController : UITabBarController <UITabBarControllerDelegate> @end 然而,我无法用上面的代码检测选项卡的更改。你认为问题是什么 我没有将我的选项卡视图链接到

我有一个选项卡式iOS应用程序。我需要知道哪个选项卡处于活动状态,并检测选项卡何时更改。在序列图像板中,我有一个选项卡视图控制器,当您单击选项卡时,它会更改视图。我创建了一个类
TabBarController
,其定义如下:

标题

@interface TabBarController : UITabBarController <UITabBarControllerDelegate>

@end
然而,我无法用上面的代码检测选项卡的更改。你认为问题是什么


我没有将我的选项卡视图链接到任何插座,但会继续链接到其他视图。这就是问题所在吗?那么,我应该将我的outlet链接到哪里?

您是否确认正在调用您的
init
方法?我不认为
init
UITabBarController
的指定初始值设定项,从nib/情节提要加载控制器时可能不会调用它


如果是这种情况,您可能会发现在
视图DIDLOAD
中设置委托更容易,因为无论对象如何初始化,都会调用该委托,或者确保在使用
-initWithNibName:bundle:
-initWithCoder
实例化对象时设置委托。

解决方案如下:实现视图加载如下:

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
    NSLog(@"Tabs showed up!");
    self.delegate = self;
}

谢谢你,乔纳。我通过设置self.delegate=self解决了这个问题;进入视图加载。
- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
    NSLog(@"Tabs showed up!");
    self.delegate = self;
}