gpt4 book ai didi

iphone - 转换发送方参数

转载 作者:行者123 更新时间:2023-12-03 20:38:33 25 4
gpt4 key购买 nike

我有一个接受发件人并使用 UI 按钮调用的方法。如何将该对象转换为 UIImageView ?基本上我如何重用按钮的代码。

- (IBAction)startClick:(id)sender { 
button.animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed:@"Pic_1.png"],
[UIImage imageNamed:@"Pic_2.png"],
[UIImage imageNamed:@"Pic_3.png"],
nil];
[button setAnimationRepeatCount:1];
button.animationDuration = 1;
[button startAnimating];
}

最佳答案

我的第一 react 是这样做可能是一个错误。 UIButtonUIImageViewUIView 的不同子类(UIButtonUIControl 的子类),因此它们唯一的共同点是 UIView 方法。如果 sender 确实是一个 UIButton,将其视为 UIImageView 可能会导致错误,例如“无法识别的选择器发送到实例”和之类的。

一般来说,更简洁的解决方案是创建一个单独的方法,该方法是 UIImageView 的操作。 (与 Java 不同,Objective-C 和 Cocoa 不喜欢根据事件类型将 UI 响应代码硬塞到单个方法中,而是根据需要发生的操作逻辑地组织代码。)

如果您必须从按钮和 ImageView 中调用此方法,您可以像这样分离逻辑:

- (IBAction) startClick:(id)sender {
if ([sender isKindOfClass:UIButton]) {
...
}
else if ([sender isKindOfClass:UIImageView]) {
...
}
}

关于iphone - 转换发送方参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1089752/

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