MyItemWindowController

MyItemWindowController

我正在构建一个非基于文档的可可应用,我希望其表现如下:


主窗口包含一个带有项目列表的表视图(由Core Data支持)。
每个项目都应在自己的窗口中打开
同样,单击“新项目”按钮应打开一个新项目窗口,同时可以打开多个此类窗口。


在当前处理表格视图的应用程序委托中,我实现了以下方法来打开新的项目窗口:

-(IBAction)newItem:(id)sender {

    MyItemWindowController *itemController = [[MyItemWindowController alloc]initWithWindowNibName:@"MyItemWindowController"];

    [itemController showWindow:self];

}


窗口确实显示,但是几乎立即消失。但是,如果我实例化一个窗口控制器,该窗口控制器是我的appDelegate的实例变量,则该窗口确实存在,但是很明显,在任何给定时间只能打开一个这样的窗口。

我真的很想拥有提到的功能,但是不想使用基于文档的体系结构,因为我不需要能够将项目作为文档保存到磁盘。

有什么建议么?我知道我一定会错过一些非常基本的东西,但是我无法弄清楚!

最佳答案

我猜你的窗口是由于ARC而消失的(不是很熟悉它,所以我不确定是不是这个原因),所以就照你说的去做吧,而不是使用MyItemWindowController作为实例变量,而是使用数组作为您的实例变量,可在需要另一个新窗口时添加一个新的窗口控制器。

10-05 20:17