Я хочу иметь возможность обмениваться данными между представлениями таблиц для приложения, которое я создаю. Причина этого в том, что я хочу иметь возможность сказать подпредставлению, какая строка таблицы была выбрана, чтобы мне не нужно было создавать несколько представлений, и я могу просто проверить, что такое целочисленная переменная. Я смотрел видеоурок о том, как это сделать, но они не использовали таблицы. Поэтому, когда я попробовал это, это не сработало. Я использовал делегат приложения в качестве «центра обработки данных», который содержал эти переменные, а затем попытался присвоить значения переменным в методе didSelectRowAtIndexPath
. (Нажатие на новое представление работает нормально, потому что это просто общее приложение)
Вот код для первого табличного представления, где я назначаю переменную номеру.
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSUInteger row = [indexPath row];
ApplicationAppDelegate *appDelegate = (ApplicationAppDelegate *)[[UIApplication sharedApplication] delegate];
appDelegate.rowPicked = row;
SecondLevelViewController *nextController = [self.controllers objectAtIndex:row];
[self.navigationController pushViewController:nextController animated:YES];
}
В приложении-делегате я сделал это и синтезировал его в файле .m:
@property (nonatomic) NSInteger rowPicked;
Как и другие NSIntegers, которые мне были нужны.
Какие-либо предложения? Если вы думаете, что я делаю это совершенно неправильно, не могли бы вы, пожалуйста, просветить меня конкретными инструкциями или ссылкой на сайт или видеоурок?
Спасибо всем!