0

我正在做一个笑话应用程序。主页是RootViewController从类别表中列出的类别列表。

当用户执行更改时,数据库会更新。问题是当我回到主页时,表格没有刷新。当我再次运行应用程序时,更改是可见的。

我试过了[tableView reloadData][self.tableView reloadData]但没有结果。

这里的代码:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
{       
    return 1;
}   

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{
      WhySoSeriousAppDelegate *appDelegate = (WhySoSeriousAppDelegate *)[[UIApplication               sharedApplication] delegate];

      return appDelegate.jokes.count;
}    

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath    
{       
    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) 
    {
        cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier ] autorelease];

        UIView *activeColor = [[[UIView alloc] init] autorelease];
        activeColor.backgroundColor = [UIColor colorWithRed:170/256.0 green:50/256.0 blue:0/256.0 alpha:1.0];
        cell.selectedBackgroundView = activeColor;          
    }       

    WhySoSeriousAppDelegate *appDelegate = (WhySoSeriousAppDelegate *)[[UIApplication sharedApplication] delegate];
    Joke *joke = (Joke *)[appDelegate.jokes objectAtIndex:indexPath.row];   

    [cell setText:joke.category];       
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;       

    return cell;        
}

我该如何解决这个问题?

4

2 回答 2

0

在同一控制器的应用程序委托中重新加载笑话数据以查看更改的记录。然后重新加载表格视图。

于 2012-04-26T13:14:51.790 回答
0

试试下面的代码来更新你的 UITableview:

    [table_view beginUpdates];
    [table_view deleteSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationLeft];
    [table_view insertSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationRight];
    [table_view endUpdates];

谢谢...!

于 2012-04-26T13:02:58.710 回答