我有一个表格视图在我的项目中的导航视图。 我推入另一个视图进行登录。 该视图接受密码并将其发送到服务器进行验证。 如果密码正确,服务器将返回XML中的一些数据。如何刷新/更新登录视图后的tableview?
我想用这个XML数据刷新表视图。 以前,我在将navigationController视图添加到窗口之前先解析了xml。
如何从超级表视图中删除我的登录视图后刷新表视图?
由于
我有一个表格视图在我的项目中的导航视图。 我推入另一个视图进行登录。 该视图接受密码并将其发送到服务器进行验证。 如果密码正确,服务器将返回XML中的一些数据。如何刷新/更新登录视图后的tableview?
我想用这个XML数据刷新表视图。 以前,我在将navigationController视图添加到窗口之前先解析了xml。
如何从超级表视图中删除我的登录视图后刷新表视图?
由于
(无效)controllerWillChangeContent:(NSFetchedResultsController *)控制器{ [self.table1View beginUpdates]; }
- (void)controller:(NSFetchedResultsController *)controller didChangeSection:(id <NSFetchedResultsSectionInfo>)sectionInfo
atIndex:(NSUInteger)sectionIndex forChangeType:(NSFetchedResultsChangeType)type {
switch(type) {
case NSFetchedResultsChangeInsert:
[self.table1View insertSections:[NSIndexSet indexSetWithIndex:sectionIndex] withRowAnimation:UITableViewRowAnimationFade];
break;
case NSFetchedResultsChangeDelete:
[self.table1View deleteSections:[NSIndexSet indexSetWithIndex:sectionIndex] withRowAnimation:UITableViewRowAnimationFade];
break;
}
}
- (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id)anObject
atIndexPath:(NSIndexPath *)indexPath forChangeType:(NSFetchedResultsChangeType)type
newIndexPath:(NSIndexPath *)newIndexPath {
UITableView *tableView = self.table1View;
switch(type) {
case NSFetchedResultsChangeInsert:
[tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndexPath] withRowAnimation:UITableViewRowAnimationFade];
break;
case NSFetchedResultsChangeDelete:
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
break;
case NSFetchedResultsChangeUpdate:
[self configureCell:[tableView cellForRowAtIndexPath:indexPath] atIndexPath:indexPath];
break;
case NSFetchedResultsChangeMove:
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
[tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndexPath]withRowAnimation:UITableViewRowAnimationFade];
break;
}
}
- (void)controllerWillChangeContent:(NSFetchedResultsController *)controller {
[self.table1View beginUpdates];
}
,如果你有这个功能,你可以使用[self.YourTableView reloadData];
希望它可以帮助
添加所有您已加入navigationController视图窗口之前完成的代码,为您的viewWillAppear中的方法,制作一个方法并从两个地方调用它。
对于刷新表查看您可以使用
[table reloadData];.
我使用下面的代码。但我得到'tableView'未声明的错误。我没有声明的tableView。我的主窗口从我的另一个nib文件加载表视图。任何想法? - (void)viewWillAppear:(BOOL)animated { \t [super viewWillAppear:animated]; \t \t [tableView reloadData]; } – astk 2011-02-23 16:08:09
在IB.i中声明你的tableview的意思是使用IBoutlet UItableView * table;并映射它,并将委托方法连接到filesowner.if它在另一个类中Syntesis你的tableview,并创建一个实例到当前类的那个类。你可以重新加载表。 – Sat 2011-02-24 05:14:30
你是什么意思做的方法,并调用它?这种方法应该做什么?我试图与viewWillAppear回调也。但是在我删除了登录视图之后,底层的导航视图的viewWillAppear方法不被触发。你能详细说明这些吗?非常感谢。 – astk 2011-02-24 01:32:43