iOS - 从其他类的表中重新加载数据
Posted
技术标签:
【中文标题】iOS - 从其他类的表中重新加载数据【英文标题】:iOS - reloadData in table from other class 【发布时间】:2014-06-04 23:56:41 【问题描述】:我已经阅读了很多关于我的问题的信息,我认为我需要使用委托,但我确实尝试了很多东西,但我无法让它发挥作用。我是初学者,所以我可能会遗漏一些重要的东西!
这就是我所拥有的:
我有一个拆分视图;在一侧,我在另一侧有一个 collectionView 和一个 tableView。我想要实现的是将数据从 collectionView 传递到 tableView。当我单击集合中的一项时,我希望它出现在表格中。所以我的表显示了一个数组,它工作正常,每次我点击集合中的一个项目时,它都会在数组中添加一个字典。这工作正常。 当我在 collectionView 的 didSelectItemAtIndexPath 中尝试重新加载 tableView 时,我的问题就来了。
当我在 tableView 中使用 [self.tableView reloadData] 操作创建一个按钮时,它工作正常。我只是无法从 collectionView 中做到这一点。
我试过了: - Can't use reloadData from another class - ios how to acces [tableView reloadData] from another class
还有更多,但无法使其工作。
感谢您的帮助,
编。
【问题讨论】:
【参考方案1】:您可以使用 NSNotificationCenter 在 2 个不同的视图之间进行调用。在 TableViewController 中,将以下代码添加到其 viewDidLoad 方法中:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(receiveReloadTableViewNotification:)
name:@"reloadTableViewNotification"
object:nil];
然后将此方法进一步添加到您的 TableViewContoller 中:
- (void)receiveReloadTableViewNotification:(NSNotification *) notification
[self.tableView reloadData];
现在在您的 CollectionView 中将其添加到按钮的 IBAction:
[[NSNotificationCenter defaultCenter] postNotificationName:@"reloadTableViewNotification"
object:self];
【讨论】:
太棒了,效果很好,而且比我尝试过的其他东西要简单得多!以上是关于iOS - 从其他类的表中重新加载数据的主要内容,如果未能解决你的问题,请参考以下文章
如何从其他类重新加载整个 tableview 控制器 [关闭]
从 Ajax GET 方法接收数据后,使用 Django Listview 类重新加载页面