我正在使用以下代码创建UITableView数据源数组:

-(void) viewWillAppear:(BOOL)animated
{
    // IBOutlet of tableview is 'editMsgTableView'
    editMsgTableView.dataSource=nil;
    editMsgTableView.delegate=nil;

    menuMessageArray = [[NSMutableArray alloc] init];
    editMainMenuMsgArray = [[NSMutableArray alloc] init];
    menuMessageArray = [DBManager fetchmenu:0 noOfRows:32];

    for(int i=0; i< [menuMessageArray count]; i++)
    {
        NSMutableDictionary *menuMsgListDic = [[NSMutableDictionary alloc] init];
        menuMsgListDic = [menuMessageArray objectAtIndex:i];
        [editMainMenuMsgArray addObject:menuMsgListDic];
    }

    editMsgTableView.dataSource=self;
    editMsgTableView.delegate=self;
    [editMsgTableView reloadData];
}

但这是第一次。但是,每当我做一些tableView编辑工作或来自另一个视图控制器时,此后如果调用viewWillAppear,则reloadData无法正常工作。我也尝试过:
dispatch_sync(dispatch_get_main_queue(), ^{
    [editMsgTableView reloadData];
});

但不起作用。请帮帮我。

最佳答案

当开始编辑时,请调用[tableView startUpading];,在完成编辑后,请依次调用[tableView stopUpdating];[tableView reloadData];

关于ios - UITableView reloadData在iOS中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28314661/

10-09 22:55