Здорово иметь возможность 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 context', куда разработчики могли бы добавлять разные вещи, но, похоже, это не так. Однако Objective-C — очень динамичный язык, поэтому мне интересно, есть ли какой-то хитрый способ добавить метод или поля к объекту во время выполнения?