我是新的objective-c developpment,我需要找到一种方法来刷新我的tableview。刷新tableview无法正常工作
我有2 UIViewController
s,在第二个插入数据到我的数据库,然后我实例化第一个viewcontroller,它包含我的tableview。我打电话的方法是允许它从数据库中恢复所有数据,但是当我使用[tableview reloadData]
时,什么也没有发生,并且cellforrowatindexpath
未被调用。
econdviewcontroller: //我插入数据库中的数据和我实例化类,其中我的tableview是并调用刷新方法
first = [[FirstviewController alloc]initWithNibName:@"FirstviewController" bundle:nil];
[first refreshList];
在Firstviewcontroller
-(void)refreshList{
self.tableview= [[[UITableView alloc] initWithFrame:self.view.bounds] autorelease];
tableview.dataSource = self;
tableview.delegate = self;
NSMutableArray *array = [[NSMutableArray alloc] init];
//I recover my data from data base
IPADAGRIONEActivityList *arrayActivities = [IPADAGRIONEActivity findAll];
if ([arrayActivities length] > 0)
{
for (IPADAGRIONEActivity * oneRec in arrayActivities)
{
[array addObject:oneRec];
}
}
//activities is NSMutablearray that contains all my data
self.activities = array;
//I build dictionnary
[self buildObjectsDictionnary:activities
NSLog(@"self.act%@",self.tableview);
[array release];
[self.tableview reloadData];
}
// numberofrowsinSection:
NSLog(@"rows%d",[[objects objectForKey:[objectsIndex objectAtIndex:section]] count]);
return [[objects objectForKey:[objectsIndex objectAtIndex:section]] ;
// numberOfSection:
NSLog(@"nbre of section%d",[objectsIndex count]);
return [objectsIndex count];}
// CellforRowatInddexPath:它这么想的,以这种方法
if (cell== nil) {
cell = [[MHCActivityListCell alloc]init];
}
IPADAGRIONEActivity *activite;
cell.activityCategory.text = [NSString stringWithFormat:@"%@", [activite EMAIL]];
显示你的代码。你有没有设置连接到数据存储(调试)和表代表(调试)? – Wain
你有没有设置tableView的委托和数据源? – TheTiger
这些日志告诉您关于行数和部分的数量?并且您是否将代码复制并粘贴到问题中,因为您实际上并未返回行数的计数。任何构建警告? – Wain