2011-01-13 86 views
1

我有一個NSWindow其中包含一個NSImageView。每當我點擊我的tableview中的一個單元格時,這個窗口就會被激活。我只想要顯示NSWindow的一個實例,但希望能夠更改NSImageView的內容。如何確保一個窗口只在Cocoa中顯示一次?

我怎麼能初始化NSWindow和顯示只有1它的實例?

回答

2

一種可能性要做到這一點是創建一個NSWindowController子類,當窗口控制器實例化被加載相關的窗口,廈門國際銀行。

我敢肯定你已經有一些控制器類處理的NSTableView的鼠標點擊。在那個類中,只需將上面提到的NSWindowController子類的一個實例作爲實例變量。無論什麼時候需要顯示窗口,告訴伊娃顯示它的窗口。

如果窗口的內容是依賴於點擊表格單元格,只需添加一些方法給窗口控制器,你顯示窗口之前修改其窗口的內容,並呼籲在點擊處理方法,這些方法。

BTW:我不會用一個單身這裏,因爲在這種情況下,它也只是對糟糕的設計(只是我的意見,而不是一個鐵的事實)一種解決方法。

+2

爲什麼是單身,壞設計? – 2011-01-13 23:58:47