为什么我的UITableView不更新?这是我尝试更新它的方式。

- (void)viewWillAppear:(BOOL)animated
{
    NSArray* arrValues = [self.defaults objectForKey:@"values"];
    [self.tableScores insertRowsAtIndexPaths:arrValues withRowAnimation:UITableViewRowAnimationNone];
}


arrValues现在是一个NSNumbers数组。我确定它不是空的。

最佳答案

呼叫[tableScores reloadData];中的- (void)viewWillAppear:(BOOL)animated

更新1

另外,您需要在标题中定义arrValues。每次viewWillAppear时,您都在创建一个新实例,但是您将无法在控制器的其余部分中使用它。这是您除了在断点之外什么都看不到的主要原因。

更新2

根据下面的评论,您尚未实现cellForRowAtIndexPath:单元格的创建方式。下面是一个示例,但是您可能想在网上搜索示例项目,因为此UITableView的101。关于数组和tableViews,您还需要学习更多内容。

示例cellForRowAtIndexPath:

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

    static NSString *CellIdentifier = @"FriendCellIdentifier";

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

    cell.textLabel.text = [arrValues objectAtIndex:indexPath.row];

    return cell;
}

10-08 05:57