Когда я загрузил nib2 из nib1 с приведенным ниже синтаксисом, метод awakeFromNib из моего текущего nib (nib1) был вызван снова.(Но не метод initWithFrame) Даже если nib2 был открыт и правильно получил фокус.Я не хочу, чтобы awakeFromNib из nib1 снова выполнялся.Что мне не хватает?
[NSBundle loadNibNamed:@"iQueryWindow" owner:self];
Дополнительная информация: iQueryWindow.xib имеет связанный с ним подкласс iQueryView.h и iQueryView.m NSView, чтобы создать вид окна с кнопкой, текстовым полем и т. Д. ПоследовательностьСобытие выглядело так: я нажал кнопку в представлении nib1, его событие clicked имеет только одну строку кода, как указано выше, чтобы открыть окно nib2.Окно Nib2 открывается со всей инициализацией, включая собственные методы inintWithFrame и awakeFromNib (nib2).После этого я заметил, что окно nib1 изменилось из-за вызова собственного awakeFromNib (я также могу наблюдать это через консоль с помощью оператора NSlog).(Окно nib2 отображается поверх nib1.) На nib2 есть кнопка, которая закрывает nib2 следующим образом: [self.window close].