我正在使用以下代码创建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/