NSPersistentDocument - 如何访问窗口?

时间:2011-10-07 18:13:10

标签: macos cocoa nspersistentdocument

我想设置NSPersistentDocument对象窗口的一些属性。我如何获得它?

有比这更好的方法吗?

    [[[[self windowControllers] objectAtIndex:0] window] setBackgroundColor:[NSColor blueColor]];

2 个答案:

答案 0 :(得分:3)

不,这是获得它的方法。 NSWindowController负责管理窗口,这就是它拥有窗口的原因。

如果您要自定义窗口外观或行为,那么实际上更好的是继承NSWindowController并将代码自定义为该类中的窗口,而不是NSDocument / {{1子类。

NSPersistentDocument(和朋友)用于管理数据,NSDocument用于管理用户界面。除了最简单的应用程序之外,您应该是NSWindowController的子类。

答案 1 :(得分:1)

我正在使用似乎有效的self.windowForSheet