2012-03-01 4 views
0

У меня есть 2 классов, CLASSA и ClassBДоступ методы отправителя из другого класса

ClassA вызывает метод ClassB в: - (Недействительными) SomeMethod: (идентификатор) отправитель

в указанном выше способе, мне нужно, чтобы захватить отправитель из ClassB (отправитель является подклассом UIView, который имеет UIButton на нем) и обновлять изображение кнопки используя что-то вдоль линий [отправитель updateButtonImageWithImage: изображение]

(подкласс UIView имеет метод: - (void) updateButtonImageWithImage: (UIImage *))

но всякий раз, когда я вызываю это из ClassB, приложение вылетает с [UIButton updateButtonImageWithImage:] непризнанный селектор бла-бла-бла.

Что я делаю неправильно?

ответ

2

отправитель является подкласс UIView, который имеет UIButton на нем

Это неправильно, если кнопка, что запуск -someMethod:, то кнопку, а не вид, содержащий его, является sender, который проходит в -someMethod:. Самый простой способ сделать это - захватить супервизор кнопки (который должен быть вашим подклассом), затем позвонить по телефону -updateButtonImageWithImage: по этому вопросу:

[(MyViewSubclass *)[sender superview] updateButtonImageWithImage:image]; 
Смежные вопросы