我是一个MacRuby和可可的完整n00b,所以请记住在回答时 - 我需要大量的细节和解释。 :)MacRuby +界面生成器:如何显示,然后关闭,然后再次显示一个窗口
我已经建立了一个简单的项目,它有2个窗口,它们都是用Interface Builder构建的。第一个窗口是使用表格视图的简单帐户列表。它在表格下方有一个“+”按钮。当我点击+按钮时,我想显示一个“添加新帐户”窗口。
我还有一个AccountsController < NSWindowController
和一个AddNewAccountController < NSWindowController
类,它们被设置为这些窗口的代表,并使用适当的按钮点击方法连接,并且插座引用所需的窗口。
当我点击帐户窗口中的“+”按钮,我有这样的代码火:
@add_account.center
@add_account.display
@add_account.makeKeyAndOrderFront(nil)
@add_account.orderFrontRegardless
这个伟大的工程,我第一次点击+按钮。一切都显示出来了,我可以输入数据并将其绑定到我的模型。但是,当我关闭添加新帐户表单时,情况开始变差。
如果我设置添加新帐户窗口关闭,然后第二次点击+按钮,窗口仍然会弹出,但它被冻结。我无法点击任何按钮,输入任何数据,甚至关闭表格。我认为这是因为表单的代码已经发布,所以没有消息循环处理表单......但我不完全确定这一点。
如果我设置添加新帐户窗口不关闭,然后第二次我点击+按钮,窗口显示正常,它是可用的 - 但它仍然有我以前输入的所有数据...它仍然绑定到我以前的Account类实例。
我做错了什么?当我点击账户表格上的+按钮时,创建添加新账户表单的新实例,创建新的账户模型,将该模型绑定到表单并显示表单,有什么正确的方法?
...这是所有正在对OSX 10.6.6,64位完成后,用了XCode 3.2.4
您是否已将其他元件连接到控制器(按钮/ textareas)?我有麻烦的下面的教程显示nsobjects下拉菜单控制器消息 – 2011-02-27 10:08:12