-(void) reload{
[self.tableViewa reloadData];
}
-(void) viewWillAppear:(BOOL)animated{
[self.tableViewa reloadData];
[cachedProperties setTags:nil];
self.tabBarController.navigationItem.rightBarButtonItem =nil;
self.tabBarController.navigationItem.leftBarButtonItem =nil;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [[cachedProperties getTags] count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CheckMarkCellIdentifier = @"CheckMarkCellIdentifier";
UITableViewCell * cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CheckMarkCellIdentifier] autorelease];
NSUInteger row = [indexPath row];
if([[[cachedProperties getTags] objectAtIndex:row] isNotEmpty]){
cell.textLabel.text = [[cachedProperties getTags]objectAtIndex:row];
cell.accessoryType= UITableViewCellAccessoryDetailDisclosureButton;
}
return cell;
}
用这个方法,当viewWillAppear有一个代码[self.tableviewa reloadData]并且会调用numberOfRowsInSection时,但是当我调用具有[self.tableviewa reloadData]的方法Reload时,函数numberOfRowInSection将不会被调用..如何是真的吗?这个问题的原因是什么?
因为在firstTime viewWillAppear中调用,[cachedProperties setTags:nil]将设置标签并将调用我需要的-(void) reload{
[self.tableViewa reloadData];
}
或[thatClass.tableViewa reloadData]使tableView不为null。为什么tableView没有reloadData?
答案 0 :(得分:0)
试试这个:
-(void) reload{
[self.tableViewa reloadData];
[cachedProperties setTags:nil];
}
-(void) viewWillAppear:(BOOL)animated{
[self reload];
self.tabBarController.navigationItem.rightBarButtonItem =nil;
self.tabBarController.navigationItem.leftBarButtonItem =nil;
}
...