当我在由UITabBar管理的ViewController中连接IBOutlet时,应用程序崩溃

时间:2011-08-14 17:27:29

标签: objective-c

好的所以我有一个应用程序,其中有一个按钮以新模式加载。这个新视图有一个标签栏,并根据其标签栏项标签号插入子视图(带有自己的Xib文件)。一切都很好,但是当我在其中一个子视图中使用Interface Builder连接IBOutlet时,当我转到该选项卡时,它会崩溃应用程序。 IBOutlet是一个UITextField,正在通过其filesOwner(相同的xibs .h和.m文件)进行填充。建筑时我没有收到任何警告。我已经研究了大约一个星期了,并尝试更改界面构建器内的文件所有者类,我试图删除视图并重新创建它们仍然没有,我试图删除并重写我的IBOutlets并删除和在IB中重新连接它们仍然没有。

以下是我的代码,根据标记数字添加了主题:

-(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item{
if (item.tag == 2) {
    if (classDescriptionsViewController_ == nil) {

        classDescriptionsViewController_ = [[UIViewController alloc]initWithNibName:@"secondViewController" bundle:nil];


    }
    [self.view insertSubview:classDescriptionsViewController_.view belowSubview:tabBar];

    if (currentViewController_ != nil && currentViewController_ != classDescriptionsViewController_) {
       [currentViewController_.view removeFromSuperview];

    }currentViewController_ = classDescriptionsViewController_;

}
 if (item.tag == 1) {
    [currentViewController_.view removeFromSuperview];
     currentViewController_ = nil;
}
if (item.tag == 3) {
    if (raceDescriptionsViewController_ == nil) {
        self.raceDescriptionsViewController = [[UIViewController alloc]initWithNibName:@"raceDescriptionsViewController" bundle:nil];
    }
    [self.view insertSubview:raceDescriptionsViewController_.view belowSubview:tabBar];
    if (currentViewController_ != nil && currentViewController_ != raceDescriptionsViewController_) {
        [currentViewController_.view removeFromSuperview];
    }currentViewController_ = raceDescriptionsViewController_;
}}

以下是我的代码,将文字添加到UITEXTFIELD(IBOUTLET):

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.textField.text = @"PLEASE WORK!";
    // Do any additional setup after loading the view from its nib.
}

1 个答案:

答案 0 :(得分:0)

我想通了......我必须为该viewcontroller设置委托。