Здорово иметь возможность addTarget
на UIButton
. Мне бы только хотелось, чтобы был какой-то хитрый способ присоединить состояние к UIButton, чтобы при вызове целевого метода я мог волшебным образом извлечь это состояние (любой идентификатор) из отправителя.
Что-то вроде:
[button shoveMyObjectInThere:foo];
[button addTarget:self action:@selector(touchyTouchy:) forControlEvents:UIControlEventTouchUpInside];
Далее:
-(void) touchyTouchy:(id) sender {
UIButton button = (UIButton*)sender;
id foo = [button getByObjectBack];
// do something interesting with foo
}
Было бы замечательно, если бы у UIButton было свойство id-контекста, где разработчики могли бы пихать вещи, но, похоже, это не так. Objective-C - очень динамичный язык, поэтому мне интересно, есть ли какой-нибудь хитрый способ добавить метод или поля к объекту во время выполнения?