У меня есть табличное представление с пользовательскими UITableViewCells, каждая строка в таблице имеет индикатор UILabel, UISwitch и подробный раскрытие информации.Получение NSIndexPath строки для UISwitch
Я ищу лучший способ захвата UIControlEventChanged для коммутатора, но мне также нужен NSIndexPath коммутатора, который был изменен для обновления Core Data.
Я не хочу, чтобы UISwitch также являлся аксессуаром.
Я это прибегая к помощи в течение нескольких часов, и решение, которое держит выскакивают является использование
[switch addTarget:self action:@selector(switchTapped:) forControlEvents:UIControlEventChanged];
затем в switchTapped: метод использовать следующий, чтобы получить NSIndexPath
NSIndexPath *indexPath = [self.tableView indexPathForCell:(UITableViewCell *)[[sender superview] superview]];
ли есть лучший способ сделать это? У меня уже есть UITableViewCell подклассы, могу ли я поместить метод в этот класс, чтобы вернуть NSIndexPath для данного переключателя?
Заранее спасибо за любую помощь
Кажется хорошим способом для меня. – wbyoung
Но если иерархия представления изменена в любой момент, например, обновления iOS, это не удастся. –
Хорошо, вы можете подойти и найти первый супервизор типа 'UITableViewCell'. Скорее всего, это провалится. – wbyoung