我是objective-c开发的新手,我需要找到一种方法来刷新我的tableview。
我有 2 个UIViewController
,在第二个中我将数据插入到我的数据库中,然后我实例化第一个 viewcontroller,它包含我的 tableview。我调用了一个允许它从数据库中恢复所有数据的方法,但是当我使用时[tableview reloadData]
没有任何反应并且cellforrowatindexpath
没有被调用。
econdviewcontroller: //我在数据库中插入数据并实例化我的tableview所在的类并调用刷新方法
first = [[FirstviewController alloc]initWithNibName:@"FirstviewController" bundle:nil];
[first refreshList];
在 Firstview 控制器中
-(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]];