代码之家  ›  专栏  ›  技术社区  ›  iosdevnyc

用于选择的组UITableView

  •  0
  • iosdevnyc  · 技术社区  · 14 年前

    我有一个组样式的uiTableView,并且我将它与导航控制器一起使用。 当用户单击单元格时,我将推到另一个视图,让用户进行选择,而所有操作都正常。我希望用户在进行选择时返回到第一个视图。我想在单元格中显示他们的选择。

    事先谢谢你的帮助

    1 回复  |  直到 14 年前
        1
  •  1
  •   tomute    14 年前

    我想你可以使用nsuser默认值。

    // 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;
    }