Нужна помощь в получении родительской ссылки на дочерний контроллер вида - PullRequest
0 голосов
/ 21 апреля 2010

Я получил следующий код в одном из моих контроллеров представления:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
switch (indexPath.section) {
      case 0: // "days" section tapped
      {     DayPicker *dayPicker = [[DayPicker alloc] initWithStyle:UITableViewStylePlain];
           dayPicker.rowLabel = self.activeDaysLabel;
           dayPicker.selectedDays = self.newRule.activeDays;
           [self.navigationController pushViewController:dayPicker animated:YES];
           [dayPicker release];
           break;

...

Затем в контроллере DayPicker я делаю некоторые вещи со свойством dayPicker.rowLabel. Теперь, когда dayPicker отклонен, я хочу, чтобы значение в dayPicker.rowLabel использовалось в качестве свойства cell.textLabel.text в ячейке, которая сначала вызывала контроллер (т. Е. Метка ячейки становится выбранной опцией в контроллере DayPicker).

Я подумал, что с помощью оператора присваивания, чтобы установить dayPicker.rowLabel = self.activeDaysLabel, эти два указали на один и тот же объект в памяти, и что при отклонении DayPicker, мой первый контроллер представления, который использует self.activeDaysLabel в качестве Свойство cell.textLabel.text для рассматриваемой ячейки автоматически выбирает новое значение объекта. Но нет такой удачи.

Я что-то упустил здесь или я поступил неправильно? Первоначально я передал ссылку на вызывающий контроллер представления дочернему контроллеру представления, но некоторые из них сказали мне, что это может вызвать проблемы, будучи циклической ссылкой. Эта установка работала, хотя; теперь я не уверен, как сделать то же самое "правильным путем".

Как обычно, заранее спасибо за помощь.

1 Ответ

0 голосов
/ 07 мая 2010

Оказывается, мне нужно было добавить вызов к

[self.tableView reloadData];

в методе viewWillAppear, чтобы получить таблицу для чтения нового значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...