我有下面的代碼在我的視圖控制器之一:需要幫助讓家長參考子視圖控制器
- (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屬性會自動獲取對象的新值。但沒有這樣的運氣。
我在這裏錯過了一些基本的東西,還是我以錯誤的方式回答這個問題?我最初將調用視圖控制器的引用傳遞給子視圖控制器,但有幾個人告訴我這可能會導致問題,成爲循環引用。儘管如此,這種設置仍然奏效現在我不知道如何以「正確的方式」完成同樣的事情。
像往常一樣,在此先感謝您的幫助。