iPhone - как передать объект на действие кнопки - PullRequest
1 голос
/ 23 марта 2010

Я должен передать объект в действие кнопки ... что-то вроде

[myButton addTarget:self action:@selector(sendIt:MY_OBJECT) forControlEvents:UIControlEventTouchDown];

Я не могу установить переменную и использовать ее в методе, потому что я в статическом классе.1005 * Как мне это сделать?

спасибо за любую помощь.

Ответы [ 3 ]

1 голос
/ 23 марта 2010

Вы не можете, подпись действия кнопки всегда *) -(IBAction)methodToCall:(id)sender, где sender - ваша кнопка, или как бы она ни вызывала действие.

Я не могу установить переменную и использовать ее в методе, потому что я нахожусь в статическом классе.

Я не уверен, что вы имеете в виду под этим.

*) Есть несколько других новых подписей на iPhone по сравнению с Mac, но ни одна из них не позволяет передавать объекты.

0 голосов
/ 23 марта 2010

Я нашел способ сделать это.

Вы создаете класс UIButton и внутри класса объявляете открытую переменную, соответствующую типу объекта, который вы хотите передать.

Когда вы создаете кнопку, вы используете этот класс и сохраняете объект внутри его свойства.

затем при нажатии кнопки вы получаете идентификатор, извлекаете кнопку и сохраненный в ней объект.

Теперь у вас есть объект ...

0 голосов
/ 23 марта 2010

UIButton не может передать объект в селектор событий. Вы можете использовать свойство tag пример:

myButton.tag = SOMEBUTTON_ID;

Также вы можете привести указатель на свой объект к NSInteger и назначить его свойству тега, но этот метод не решает проблему времени жизни объекта и в будущем такой код может перестать работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...