从另一个类访问发送方法

时间:2012-03-01 00:56:22

标签: objective-c ios uiview uibutton unrecognized-selector

我有2个班,ClassA和ClassB

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

在上面的方法中,我需要从ClassB中获取发送者(发送者是UIView的子类,其上有UIButton)并使用某些内容更新按钮图像。 [sender updateButtonImageWithImage:image]

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

但每当我从ClassB调用它时,应用程序崩溃了 [UIButton updateButtonImageWithImage:]无法识别的选择器blah blah blah。

我做错了什么?

1 个答案:

答案 0 :(得分:2)

  

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

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

-updateButtonImageWithImage: