Macos makeFirstResponder和becomeFirstResponder之间有什么区别?
我花了很长时间试图弄清楚如何在删除一行后在NSTableView列中保持焦点,而不仅仅是保留一个选择。我是这样做的:Macos makeFirstResponder和becomeFirstResponder之间有什么区别?,macos,nstableview,Macos,Nstableview,我花了很长时间试图弄清楚如何在删除一行后在NSTableView列中保持焦点,而不仅仅是保留一个选择。我是这样做的: [[myTableView window]makeFirstResponder:myTableView]; 为什么上面的代码有效,而下面的代码无效 [myTableView becomeFirstResponder]; -makeFirstResponder:是对窗口的请求,它将指定的响应程序作为其第一响应程序-becomeFirstResponder是向响应者发出的通知,告
[[myTableView window]makeFirstResponder:myTableView];
为什么上面的代码有效,而下面的代码无效
[myTableView becomeFirstResponder];
-makeFirstResponder:
是对窗口的请求,它将指定的响应程序作为其第一响应程序<代码>-becomeFirstResponder是向响应者发出的通知,告知其即将成为第一响应者。它不会固有地导致状态改变;它使接收者有机会对由-makeFirstResponder:
引起的状态变化作出反应
您不应调用
-becomeFirstResponder
(除非可能在覆盖中通过调用super
)。框架根据需要调用它。-makeFirstResponder:
是对窗口的请求,它将指定的响应程序作为其第一响应程序<代码>-becomeFirstResponder是向响应者发出的通知,告知其即将成为第一响应者。它不会固有地导致状态改变;它使接收者有机会对由-makeFirstResponder:
引起的状态变化作出反应
您不应调用-becomeFirstResponder
(除非可能在覆盖中通过调用super
)。框架在必要时调用它