2010-04-21 45 views
0

我有下面的代碼在我的視圖控制器之一:需要幫助讓家長參考子視圖控制器

- (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屬性會自動獲取對象的新值。但沒有這樣的運氣。

我在這裏錯過了一些基本的東西,還是我以錯誤的方式回答這個問題?我最初將調用視圖控制器的引用傳遞給子視圖控制器,但有幾個人告訴我這可能會導致問題,成爲循環引用。儘管如此,這種設置仍然奏效現在我不知道如何以「正確的方式」完成同樣的事情。

像往常一樣,在此先感謝您的幫助。

回答

0

原來我需要一個電話在viewWillAppear中方法添加到

[self.tableView reloadData]; 

拿到表讀取新的價值。