методы, которые вы добавляете как действия в UIControl, могут иметь 3 разные подписи
- (void)action
- (void)action:(id)sender
- (void)action:(id)sender event:(UIEvent *)event
вы не можете передать свой собственный объект.Часто можно получить любой объект, который вы пытаетесь передать, с помощью объекта отправителя (вашей кнопки).
Если у вас есть кнопка в ячейке просмотра таблицы, вы можете использовать что-то вроде этого для получения indexpath ячейки.
- (IBAction)buttonAction:(id)sender {
UIButton *button = (UIButton *)sender;
CGPoint buttonOriginInTableView = [button convertPoint:CGPointZero toView:tableView];
NSIndexPath *indexPath = [tableView indexPathForRowAtPoint:buttonOriginInTableView];
// do something
}
и с помощью indexPath вы можете получить нужный объект.