Я начал с кода просмотра Swapping из книги Hillegass Cocoa Programming для MAC OS X. Этот код использует всплывающее меню в MyDocument.nib для обмена ViewControllers с помощью displayViewController в MyDocument.m, частично представленном ниже. Я пытаюсь использовать вместо строк таблицы в ViewController поменять ViewControllers по телефону displayViewController в MyDocument.m от ViewController, создавший таблицу:Доступ к IB NSBox в MyDocument из другого класса?
- (void)displayViewController:(ManagingViewController *)vc
curBox: (NSBox *)windowBox
{
// End editing
NSWindow *w = [windowBox window];
BOOL ended = [w makeFirstResponder:w];
if (!ended) {
NSBeep();
return;
}
...
Проблема, которую я имею, когда я называю displayViewController от другой ViewController Мне нужно отправить через созданный NSBox Interface Builder экземпляр NSBox в MyDocument.nib, чтобы представление можно было поменять местами в NSBox в MyDocument.m. Поэтому для этого мне нужно иметь доступ к создаваемому интерфейсом NSBox интерфейса в MyDocument.nib из другого ViewController.
Кто-нибудь знает, как получить доступ к создаваемому интерфейсом NSBox интерфейса в MyDocument.nib из другого ViewController?
EDIT:
Я достиг некоторого прогресса. Иерархия точки зрения:
Window
ContentView
NSBox
Я был в состоянии получить верхнее окно уровня и текущий ContentView следующие:
NSWindow *w = self.view.window;
NSView *v = [w contentView];
, но я до сих пор не понял, как получить NSBox, который находится внутри ContentView. Я пробовал следующее, но они не сработали:
NSBox *b = [v container];
NSBox *b = [v content ];
У кого-нибудь есть идеи?