你必須做兩件事情(考慮到你有一個設置視圖控制器和一個詳細視圖控制器)...
首先,當用戶選擇在設置視圖控制器一排,你必須在詳細視圖控制器中設置您要編輯的設置。也就是說....
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[self.detailViewCtrl setSetting:[self.settings objectAtIndex:indexPath.row]];
[self.navigationController pushViewController:self.detailViewCtrl];
}
在您的詳細視圖,你就必須修改以下方法來呈現你的表格:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
// ... do something with the self.setting
}
而且你可別忘了重新加載表:
- (void)setSetting:(id)newSetting {
if (setting != newSetting) {
[setting release];
setting = [newSetting retain];
[self.tableView reloadData];
}
}
這假設以下幾點:
- 你的第一個視圖有「detailViewCtrl」屬性實例化
- 你的第一個視圖具有的NSArray中設置的屬性稱爲「設置」
- 您的詳細視圖有一個「設置」屬性
- 您的詳細視圖控制器知道該怎麼辦與其「設置」屬性
Z感謝您的迴應,但有一些地區的iPhone開發我仍然有點不清楚。通過設置屬性,你的意思是一個字符串?我是否還必須將設置和newSetting定義爲字符串? – 2011-03-05 12:39:25
@安迪,'設置'應該是一個自定義對象(或設置包對象?)。我不確定它有什麼屬性,但它可能是這樣的:設置(名稱,類型,值,選項)。你應該考慮你將如何加載/存儲你的設置,以及你將如何操縱它們。 – Dimitry 2011-03-05 21:27:27