gpt4 book ai didi

objective-c - Objective-C 中的选择器只是向对象发送消息的另一种方式吗?

转载 作者:太空狗 更新时间:2023-10-30 03:38:47 26 4
gpt4 key购买 nike

Objective-C 中的选择器只是向对象发送消息的另一种方式吗?我真的不明白为什么或如何使用它们。

最佳答案

选择器通常用于定义回调机制。 Cocoa 中选择器最常见的用例是控件,例如按钮。 UIButton 非常通用,因此不知道按下按钮时会发生什么。在你可以使用之前,你需要告诉它按下按钮时应该运行什么方法。这是按如下方式完成的:

[myButton addTarget:self
action:@selector(myButtonWasPressed)
forControlEvents:UIControlEventTouchUpInside];

- (void)myButtonWasPressed {
// Do something about it
}

然后,当按下按钮时,按钮将调用我们传递给它的目标上的选择器。使用这种机制,您不需要在每次希望按钮调用您自己的代码时都对其进行子类化。取而代之的是,UIButton 本身具有一种通用机制,用于分派(dispatch)到您选择的任何代码。 (好吧,从技术上讲,它是提供调度机制的父类(super class) UIControl。)

关于objective-c - Objective-C 中的选择器只是向对象发送消息的另一种方式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3543137/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com