Objective c 了解第一响应者的系统逻辑
我对几个第一反应者的观点感到困惑:Objective c 了解第一响应者的系统逻辑,objective-c,ios,cocoa-touch,first-responder,uiresponder,Objective C,Ios,Cocoa Touch,First Responder,Uiresponder,我对几个第一反应者的观点感到困惑: 如果我调用-becomeFirstResponder,系统调用-canBecomeFirstResponder?为什么? 为什么既有-成为第一响应者又有-可以成为第一响应者?在什么情况下,它们可以返回不同的值 应用程序是否每次都必须有第一响应者?如果是这样,当我调用某个对象的–resignFirstResponder时会发生什么?UIApplication是立即成为第一响应者,还是在响应者链中的某个点上抛出此“令牌”?当我想要清除朝圣者令牌时,我可以在UIAp
-becomeFirstResponder
,系统调用-canBecomeFirstResponder
?为什么?-成为第一响应者
又有-可以成为第一响应者
?在什么情况下,它们可以返回不同的值–resignFirstResponder
时会发生什么?UIApplication
是立即成为第一响应者,还是在响应者链中的某个点上抛出此“令牌”?当我想要清除朝圣者令牌时,我可以在UIApplication
对象上调用-becomeFirstResponder
becomeFirstResponder
的默认实现确实调用了canBecomeFirstResponder
。这是因为从返回NO的响应者可以成为firstresponder
,而不应该成为第一响应者becomeFirstResponder
如果成功,将使接收者成为第一响应者canBecomeFirstResponder
只需检查接收者是否愿意成为第一响应者,而无需实际更改任何内容。如果当前第一响应者拒绝辞职,becomeFirstResponder
可能会失败。在其他情况下,成为第一响应者也可能失败
firstResponder
,在这种情况下,系统不会指定任何特定的默认值