IBOutlets не устанавливаются в NSViewController - PullRequest
0 голосов
/ 06 сентября 2011

Итак, я настроил NSViewController (MyVC) следующим образом:

//MyVC.h
...
@property (nonatomic, retain) IBOutlet NSTextField *input;
...

//MyVC.m
...
@synthesize input;

- (id)init
{
    self = [super initWithNibName: @"MyVC" bundle: [NSBundle mainBundle]];
    NSLog(@"%@", input); //prints (null) always
    return self;
}

- (void)loadView
{
    [super loadView];
    NSLog(@"%@", input); //still (null)
}
...

//MyVC.xib

Custom View       [Referencing Outlet:    File's Owner.view]
    Text Field    [Referencing Outlet:    File's Owner.input]

Теперь, когда я загружаю этот NSViewController (посредством MyVC *vc = [[MyVC alloc] init];) и загружаю его в окно, ясм. текстовое поле соответственно.Однако, как указывалось выше для вставки (и нескольких BAD_ACCESS), vc.input никогда не указывает должным образом на текстовое поле.

Примечания:

  • Проект работает ARC.
  • Это не упрощение или обобщение.Я запустил этот точный код безрезультатно.
  • Все IBOutlets определенно настроены соответствующим образом.

1 Ответ

1 голос
/ 08 сентября 2011

Ошибка была комбинацией вещей.

В одной из моих ревизий отсутствовал тег IBOutlet, и ни одна из них не сохраняла ссылки на ViewController во время выполнения.

...