Tableview每次刷新数据

时间:2013-07-24 10:17:33

标签: ios uitableview viewdidload

首先,我有一个幻灯片应用程序,我有一个tableview。 通过在主菜单中点击单元格“CellInMainMenu”,应用程序通过push打开tableview“TV1”,并且此tableview(“TV1”)中的单元格通过数组填充数据。当我将此tableview(“TV1”)滑动到侧面,并再次在单元格“CellInMainMenu”上再次tapps时,应用程序再次打开tableview(“TV1”),但是! Tableview(“TV1”)启动AGAIN以填充信息!如何在启动应用程序时使应用程序一次加载所有数据?

(我真的很抱歉我的英语,因为这不是我的语言)

有人能帮助我吗?

“TV1”中的代码:

- (void)viewDidLoad    
{    
[super viewDidLoad];
daoDS = [[SampleDataDAO alloc] init];
self.ds = daoDS.PopulateDataSource;    
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"TV1CellId";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if(cell == nil) 
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier];
}

SampleData *sample = [self.ds objectAtIndex:indexPath.row];
cell.textLabel.text = sample.HeroesName;
cell.textLabel.textColor = [UIColor whiteColor];
cell.textLabel.font = [UIFont fontWithName:@"Trajan-Regular" size:18.0f];

return cell;

}

(所有申请都运作正常,我只想知道如何只加载一次而不是每次都加载)

1 个答案:

答案 0 :(得分:0)

问题不在于您的表视图代码,而在于您如何推送它。如果您调用segue,它将始终创建一个新的。

相反,您只能在第一次推送它,保留对它的引用,然后根据您选择的菜单进行更新。一些自定义委托@protocol可能是最好的模式。