我是iOS开发的新手。当我以编程方式添加按钮时,我几乎不会感到困惑。当我们将目标分配给按钮时,例如:

[button addTarget:self action:@selector(CallMe) forControlEvents:UIControlEventTouchUpInside];


[button addTarget:nil action:@selector(CallMe) forControlEvents:UIControlEventTouchUpInside];

在两种情况下都将调用CallMe方法。谁能解释我这两行代码之间的实际区别是什么,如果有人可以特别解释addTarget的工作原理会有所帮助,非常感谢。帮助将是适当的。

最佳答案

如果将自身或任何其他对象添加为操作消息的目标,则消息将精确发送到该对象。

将nil添加为目标意味着在触发消息时将在运行时搜索实际目标。查找从第一个响应者对象开始,然后沿着响应者链从那里继续进行,即尝试使用nextResponder方法返回的对象,直到找到实现该方法的对象为止。查看event handling guide,以获取有关确切查找顺序的更多信息。

关于iphone - addTarget :self versus addTarget:ni,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16955316/

10-12 02:45