Одна возможность: предположим, что контейнер IBOutlet представляет собой одноэлементный объект с такой функцией:
+ (singletonObject*) sharedInstance {
if(!gGlobalSingletonPointer) {
gGlobalSingletonPointer = [[singletonObject alloc] init];
}
return gGlobalSingletonPointer;
}
Вы создаете одноэлементный объект «по требованию», если он еще не существует.Вы сохраняете глобальный указатель на него при его создании в этой функции.
Если вы также создадите экземпляр такого объекта в InterfaceBuilder и подключите его выходы, этот объект будет создан без sharedInstance вызывается.Если впоследствии вы вызовите sharedInstance, будет создан новый объект (без подключений IBOutlet).
Решение состоит в том, чтобы обновить глобальный указатель в функции inittonbject или функции awakeFromNib.