То, что вы просите, не может быть сделано. Из документов:
UIKit допускает три различных формы селектора действий:
- (void)action
- (void)action:(id)sender
- (void)action:(id)sender forEvent:(UIEvent *)event
Поскольку вы не можете влиять на параметр события, объект sender
должен содержать всю информацию, которую вы хотите передать методу действия.
Несмотря на то, что вы написали в своем комментарии к ответу mihirsm, вы действительно можете создать подкласс UIButton, чтобы добавить всю необходимую дополнительную информацию к каждому экземпляру кнопки. Вы также можете использовать свойство кнопки tag
, чтобы идентифицировать ее (назначить уникальный тег каждой кнопке) и сохранить всю дополнительную информацию в массиве или словаре, используя теги в качестве ключей.
Обновление: В будущем вы также можете использовать ассоциативное хранилище для добавления данных к объектам без их подклассов, но эта технология (пока) недоступна на платформе iPhone (10.6 только на данный момент).