加载没有NSWindowController的nib文件?

时间:2010-02-12 18:53:06

标签: objective-c cocoa

我有一个我要打开的nib文件,但它只是一个信息面板,所以我不需要任何方法。有没有办法可以打开它。我不属于NSWindowController的子类。

2 个答案:

答案 0 :(得分:1)

是的,您可以将任何对象设为xib的所有者。但是,该对象必须“托管”xib中使用的插座。

例如,如果您有一个“ConfirmationSheet.xib”,只需在您想要“拥有”该xib实例的类中声明您的商店,将File的Owner类设置为您的类,然后连接您的商店。让我们使用名为“confirmHowMuchSlider”的插座作为示例:当加载xib时,您的类的“confirmHowMuchSlider”插座将连接到您在xib中连接的滑块,就是那样。

请注意,这通常是不太好设计的标志,IMO。如果它足够复杂到它自己的xib,它应该有自己的控制器。如果它不复杂(只是一张纸),你可以牺牲另外0.001秒的应用程序或文档加载时间,并把它放在一个更中心的xib。 : - )

请记住,如果 出于性能原因这样做,那么单独的一轮磁盘访问只是为了加载带有几个按钮的单个工作表,其性能通常比更差从一个xib一次加载更多的东西。所有的事情都是权衡。

答案 1 :(得分:0)