我有一个NSWindowController,我像这样初始化它;
+ (MyWindowController *) sharedController
{
static MyWindowController *singleton = nil;
if (!singleton) singleton = [[self alloc] initWithWindowNibName: @"myWindow"];
return singleton;
}我像这样展示窗口;
[[MyWindowController sharedController] showWindow: nil];现在的问题是,我需要来自该窗口上的一些控件的信息。但是如果窗口还没有加载,我不想加载它,因为这样我就可以使用默认值了。我应该使用isWindowLoaded?@属性来访问单例吗?或者这里推荐什么?(如果是@property,请也给我只读的、非原子的属性。)
发布于 2010-05-18 12:09:35
不要在视图中存储模型数据。让控制器(可能不是MyWindowController,而是需要数据的控制器)拥有实际数据(如果有的话)并填写任何默认值。
您在Interface Builder中填写的任何值都应该仅用于调整大小。
例如,如果我知道一个字段必须包含一个值为±50000的数字,我将输入“-50000”并相应地调整该字段的大小,然后将“-50000”留在那里。实际的默认值更有可能是0或更多,并且我将由拥有该值的控制器提供该值(或者,如果该字段显示模型对象的属性,我将由每个新的模型对象提供默认值)。
https://stackoverflow.com/questions/2851382
复制相似问题