Передайте NSMutableArray в NSWindowController - PullRequest
0 голосов
/ 18 августа 2011

Итак, я создаю NSWindowController следующим образом:

if ( summaryWindow ) {
    [summaryWindow release];
} // end if
summaryWindow   = [[SummaryWindowController alloc] init];

Затем я передаю этот объект массив, который я буду использовать для NSTableView

[ summaryWindow setGlobalStatusArray:globalStatusArray];

Как только этот объект будетСозданный, я понимаю, что не знаю, как сделать что-то фундаментальное, связывающее действия и выходы вновь созданного объекта.Если я создаю объект в xib и связываю методы, я могу запустить действие, но у меня нет доступа к массиву, потому что xib создал отдельный экземпляр NSWindowController, так как можно программно создать NSWindowController, нои передайте ему массив.

Ответы [ 2 ]

1 голос
/ 18 августа 2011

Вы просто должны правильно инициализировать оконный контроллер. [[SummaryWindowController alloc] init]; просто создает пустой оконный контроллер, который не знает своего окна и так далее. Вы можете загрузить его с помощью xib-файла. Сделайте это так:

summaryWindow   = [[SummaryWindowController alloc] initWithWindowNibName:@"YourWindowNIB"];
0 голосов
/ 24 августа 2011

Итак, я только что закончил делать это с помощью NSNotifications и передавал информацию через userInfo.

// Register for notifications on Global Status Array updates
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(reloadTableBuffer:) 
                                                 name:StatusUpdateNotification
                                               object:nil];

Вот так:

- (void) reloadTableBuffer:(NSNotification *) notification
{
    if(debugEnabled)NSLog(@"DEBUG: Was Told to Reload Table Buffer...");
    NSDictionary *globalStatusUpdate = [notification userInfo];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...