Сбой приложения при подключении IBOutlet в ViewController, управляемом UITabBar - PullRequest
0 голосов
/ 14 августа 2011

ОК. Итак, у меня есть приложение, которое имеет кнопку, которая загружает в новом виде модально.Это новое представление имеет панель вкладок и вставляет подпредставления (со своими собственными файлами Xib) в соответствии с номером тега элемента панели вкладок.Все отлично работает, однако, когда я подключаю IBOutlet в одном из этих подпредставлений с помощью Interface Builder, происходит сбой приложения при переходе на эту вкладку.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 голосов
/ 23 августа 2011

Я понял это ... Я должен был установить делегата для этого viewcontroller.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...