所以我正在创建一个像这样的NSWindowController:
if ( summaryWindow ) {
[summaryWindow release];
} // end if
summaryWindow = [[SummaryWindowController alloc] init];
然后我将这个对象传递给我将用于NSTableView
的数组[ summaryWindow setGlobalStatusArray:globalStatusArray];
一旦创建了该对象,我意识到我不知道如何做一些基本的东西,即链接新创建的对象动作和出口。如果我在xib中创建一个对象,并链接方法,我可以运行一个动作,但是我没有访问数组,因为xib创建了一个单独的NSWindowController实例,那么如何以编程方式创建NSWindowController但是也将数组传递给它。
答案 0 :(得分:1)
您只需要正确初始化windowcontroller。 [[SummaryWindowController alloc] init];
只是创建一个不知道窗口的空窗口控制器。
您可以使用其xib文件加载它。这样做:
summaryWindow = [[SummaryWindowController alloc] initWithWindowNibName:@"YourWindowNIB"];
答案 1 :(得分:0)
所以我最后通过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];