如何重新载入UITableView中的数据

问题描述:

我正在使用UITableView使用Web服务显示内容。我需要每分钟重新加载一次数据。任何人都可以帮助我做到这一点...如何重新载入UITableView中的数据

+1

具有u试着对你自己做任何事情,以便从下面回答ers.please接受来自下面答案的任何答案。 – Alok 2012-04-23 06:30:31

编写一个包含从web服务加载数据并调用[tableView reloadData]的代码的方法。然后创建一个timer并使其每分钟调用一次该方法。

有两个问题:

1)如何重装UITableView细胞?

2)如何每60秒自动执行一次?

我的答案:

1)要重新加载数据手动你应该对你UITableView实例的指针。您可以使用@propertyIBOutlet将此表与此属性相关联。假定您将其命名为tableView。然后,您可以拨打[tableView reloadData];重新加载表格的所有单元格和部分。

2)最简单的方法是创建NSTimer,每隔60秒触发一次,并调用特定的方法。例如:

[NSTimer scheduledTimerWithTimeInterval:60 target:self selector:@selector(updateTable) userInfo:nil repeats:YES]; 

P.S.您也可以重新加载表格视图的特定单元格或部分。请在苹果文档搜索它们

尝试:

/*****TIMER*****/ 
timer = [NSTimer scheduledTimerWithTimeInterval:60.0 target:self selector:@selector(updateTable) userInfo:nil repeats:YES]; 


/******************************************************************************/ 
-(void)updateTable{ 
    [self.tableView reloadData]; 

} 

你可以使用哈雷的答案,或者你可以使计时器调用reloadData到的tableview本身。

NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:60 target:self.tableView selector:@selector(reloadData) userInfo:nil repeats:YES]; 

那么你需要检查你的数据模型每一次。以一些间隔重新加载表视图与相同的数据是不好的主意。对 ?

timer = [NSTimer scheduledTimerWithTimeInterval:60.0 target:self selector:@selector(updateData) userInfo:nil repeats:YES]; 

-(void)updateData { 
    //do something with data model 
    //and reload table then 
    [self.tableView reloadData]; 
} 

你需要设置为1分钟的NSTimer鉴于viewDidLoad方法控制器

- (void)viewDidLoad 
{ 
NSTimer *myTimer = [NSTimer scheduledTimerWithTimeInterval:60.0 target:self selector:@selector(reloadTable) userInfo:nil repeats:YES]; 
} 

//重新加载表法

-

(void)reloadTable{ 
[self.tableView reloadData]; 
[myTimer invalidate]; 

} 

[NSTimer scheduledTimerWithTimeInterval:60 target:self selector:@selector(TblUpdate) userInfo:nil repeats:YES]; 

-(void)TblUpdate 
{ 

//Your Webservice 

//table reload 
    [tbl reloadData]; 
}