Я столкнулся с определенной проблемой. У меня есть протокол, который заявляет метод, который возвращает источник данных для моих табличных представлений. Источники данных генерируются одним классом для трех табличных представлений. Если вы нажмете на одну ячейку, вы перейдете к следующему виду таблицы с другим источником и т. Д. (Я думаю, вы поняли).
Все отлично работает для первого просмотра таблицы, но когда я передаю удаление следующему просмотру таблицы, я все равно не получаю источник данных для второго. Должен ли я освободить делегата в определенный момент? И если мне нужно, как мне вернуть его обратно, когда навигационная кнопка нажата ...?
Скажите, есть ли у вас идеи?
EDIT:
if ([Where isEqualToString:@"System"])
{
if ([exchangeDelegate respondsToSelector:@selector(getNewDataSourceForSystem:)])
{
[exchangeDelegate getNewDataSourceForSystem: [controlDelegate setBranchNavigation:What]];
}
}
else if ([Where isEqualToString:@"User"])
{
if ([exchangeDelegate respondsToSelector:@selector(getNewDataSourceForUser:)])
{
[exchangeDelegate getNewDataSourceForUser: [controlDelegate setLeafNavigation:What]];
}
}
if ([exchangeDelegate respondsToSelector:@selector(getNewDataSourceForCostumer:)])
{
[exchangeDelegate getNewDataSourceForCostumer: [controlDelegate setRootNavigation]];
}
каждый responseToSelector переходит в другой класс.
EDIT:
* Завершение работы приложения из-за необработанного исключения «NSInvalidArgumentException», причина: '- [Costumers getNewDataSourceForSystem:]: нераспознанный селектор, отправленный экземпляру 0x8a3b0e0'
Это то, что я получаю в качестве исключения, когда я пропускаю respondsToSelector:@selector
.