Я получил следующий код в одном из моих контроллеров представления:
- (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 для рассматриваемой ячейки автоматически выбирает новое значение объекта. Но нет такой удачи.
Я что-то упустил здесь или я поступил неправильно? Первоначально я передал ссылку на вызывающий контроллер представления дочернему контроллеру представления, но некоторые из них сказали мне, что это может вызвать проблемы, будучи циклической ссылкой. Эта установка работала, хотя; теперь я не уверен, как сделать то же самое "правильным путем".
Как обычно, заранее спасибо за помощь.