gpt4 book ai didi

iphone - IOS按钮按下事件?

转载 作者:可可西里 更新时间:2023-11-01 05:36:24 26 4
gpt4 key购买 nike

我想知道它们之间有什么区别:

- (IBAction)operationPressed:(UIButton *)sender {

}

和:

- (IBAction)operationPressed:(id)sender {


}

我可以看到 xcode 在使用 id 时尝试为自动完成提供更多额外帮助。那么使用哪个是正确,为什么?

谢谢

最佳答案

从技术上讲,这无关紧要:UIButton* 的声明类型不保证无法调用其他类型的对象。 fitst 样式允许您使用“点语法”访问 UIButton 的属性,而第二种样式允许您将处理程序重用于其他 UI 对象,而不会让您的读者想知道发生了什么。

例如,如果您知道您的事件处理程序仅用于按钮,您可以将发送者的类型声明为 UIButton,然后执行以下操作:

- (IBAction)operationPressed:(UIButton *)sender {
sender.adjustsImageWhenHighlighted = YES;
}

对于第二个声明,您必须这样写:

- (IBAction)operationPressed:(id)sender {
[sender setAdjustsImageWhenHighlighted:YES];
}

另一方面,如果您计划为不同的 UI 对象重用处理程序,则第二种方法更可取。

关于iphone - IOS按钮按下事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16633502/

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