Проанализируйте свою архитектуру, если Вам необходимо получать данные из ячейки - это, к сожалению, ошибка архитектуры. Ячейки предназначены только для отображения данных из источника данных (собственно, datasouce у collection view). Если после "нажатия" на кнопку происходит или segue, то индекс ячейки можно определить:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
//не забыть проверить, кто такой sender
NSIndexPath *indexPath = [self.tableView indexPathForCell:sender];
//получить данные из datasource
}
Главное, что нужно понять - cell предназначен только для отображения данных, вся логика источника данных - или в контроллер, или в отдельный делегат (что лучше, конечно)