的应用程序的代码是在这里(该Raiseman文件夹包含项目的文件):基于文档的应用程序:哪个是关键窗口?
每个文件(?窗口)包含NSTableView和两个按钮:
该应用程序使用ArrayController来管理Document类中的一个Employees数组,并且这些按钮从数组中添加或删除Employees。
我注意到,如果我点击添加员工按钮并开始编辑NSTableView中的员工姓名,然后点击返回结束编辑,如果我点击文件>新建创建第二个文档,然后点击添加第二份单据中的员工,然后编辑员工姓名并按回车键,返回键被发送到第一份单据,该单据在第一单据中结束了对该单位名称的编辑,而第二单据中没有任何更改。这是为什么?我期望包含我点击的按钮的窗口成为关键窗口,因此返回键将被发送到第二个窗口。
如果我再次点击Return,则编辑在第二个Document中结束。
你是否用自己的代码开始编辑第一个窗口? –
@ AminNegm-Awad,是的。 Add Employee按钮连接到Document类中的addEmployee(_ :)'动作,并且在动作内部是方法调用'tableView.editColumn(_ :, row :, withEvent :, select:)',其中' tableView'是NSTableView的出口。 – 7stud