用于选择的UITableView组

时间:2010-02-03 05:39:22

标签: iphone

我有一个组样式的UITableView,我正在使用它与导航控制器。 当用户点击单元格时,我正在推送到另一个视图供用户进行选择,而所有这些都正常工作。我想让用户在用户做出选择时返回到第一个视图。我想在单元格上显示他们的选择。

提前感谢您的帮助

1 个答案:

答案 0 :(得分:1)

我认为你可以使用NSUserDefaults。

// view controller to make selection
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    NSString *selected;
    if (indexPath.row == 0) {
        selected = @"Apple";
    } else if (indexPath.row == 1) {
        selected = @"Microsoft";
    }

    [[NSUserDefaults standardUserDefaults] setObject:selected forKey:@"SELECTED"];
    [self.navigationController popViewControllerAnimated:YES];
}

重点是你需要在viewDidAppear中调用[self.tableView reloadData]。

// view controller to show what a user selected
- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];

    [self.tableView reloadData];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier] autorelease];
    }

    // Configure the cell.
    cell.textLabel.text = @"Choice";
    cell.detailTextLabel.text = [[NSUserDefaults standardUserDefaults] objectForKey:@"SELECTED"];

    return cell;
}