0

我有 2 个班级,ClassA 和 ClassB

ClassA 调用 ClassB 的方法: - (void)someMethod:(id)sender

在上述方法中,我需要从 ClassB 中获取发件人(发件人是 UIView 的子类,上面有一个 UIButton)并使用类似于 [sender updateButtonImageWithImage:image] 的内容更新按钮图像

(UIView 子类有方法:- (void)updateButtonImageWithImage:(UIImage *) )

但是每当我从 ClassB 调用它时,应用程序就会崩溃,并显示 [UIButton updateButtonImageWithImage:] unrecognized selector blah blah blah。

我究竟做错了什么?

4

1 回答 1

2

发件人是 UIView 的子类,上面有一个 UIButton

这是不正确的——如果按钮是触发的-someMethod:,那么按钮,而不是包含它的视图,是sender被传递到的-someMethod:。最简单的方法是获取按钮的超级视图(应该是你的视图子类),然后调用你-updateButtonImageWithImage:的:

[(MyViewSubclass *)[sender superview] updateButtonImageWithImage:image];
于 2012-03-01T01:04:34.490 回答