Tag: reloaddata

TableView reloadData与beginUpdates&endUpdates

我有更新我的TableView棘手的问题,我得到不同的结果,使用不同的方法更新它,让我解释一下: 情况1:我用[tbl reloadData]; 其中tbl是我的TableView,更新TableView – 按预期工作。 情况2:我用: [tbl beginUpdates]; [tbl reloadRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationRight]; [tbl endUpdates]; 其中tbl是我的TableView,而indexPaths是包含TableView中存在的所有indexPath的数组。 现在数组没有问题,它包含了所有正确的indexPaths(双重和三重检查),但由于某种原因 – 这是行不通的。 现在我意识到这是一个XY问题(我问Y的问题,但我的问题真的是X,因为我认为解决Y将解决X),那只是因为我觉得解释X有点复杂(上述问题的后果)在一个简单的方法,所以我宁愿不要这样做,如果可能的话。 所以,回到我的问题:更新TableView的两种方法(当然除了animation位)之间是否有区别?还是我应该怀疑问题在别处? 编辑:好的,我会尝试解释什么症状是: 在cellForRowAtIndexPath方法中,我给每个单元添加一个button,该button的分配标签等于单元格的indexPath行,如下所示: btn.tag = indexPath.row; 我这样做的原因是,我可以识别每个button,因为他们都调用相同的function: – (void)btnPressed:(id)sender 当我更新单元格时 – 因为单元格中的某些值已经改变 – 情况1使一切正常工作,然而情况2 – 混合了标签,所以下一次按下其中一个button时,它们不再具有正确的标签。 混淆对我来说看起来是随机的,但是随机化的发生取决于我先按哪个单元格button。 我希望这可以澄清我的问题。

记住UITableView的滚动位置

我在xcode中的iOS应用程序有点问题。 我有一个UITableView加载几百个单元格。 当我向下滚动到一个特定的单元格,深入detailviewcontrollers并再次返回主视图表已返回到顶部。 我看了下面两个类似的问题。 我怎样才能获得UITableView的滚动位置,所以我可以保存它? 在UITableView中设置滚动位置 我仍然无法让这些工作。 我不是最有经验的编码器,所以我真的很困难。 我知道像viewWillDisappear和viewDidAppear需要改变的东西,但我真的不能远远超过这一点。 在这张桌子上,我有一个reloadDatafunction,所以可以从服务器上下载最新的数据,也可以在工作的search栏中查看。 无论如何,一个援助之手将是伟大的。 谢谢, 卢克

如何在Swift中从另一个ViewController的TableView中重新加载数据

在一个ViewController中,我试图在另一个ViewController的TableView中重新加载数据,如下所示: (self.presentedViewController as! tableViewController).table.reloadData() where tableViewController是TableView的控制器中的类(这不是上层驼,我知道),table是TableView。 那么,这样做会产生“致命的错误:意外地发现零,而解包可选值”,我想这是有道理的,因为“presentViewController”尚未加载。 我也试过这个: (self.navigationController!.viewControllers[self.navigationController!.viewControllers.count – 2] as! tableViewController).table.reloadData() 这产生了相同的结果(我确保tableViewController在navigationController栈的当前ViewController下)。 我很困惑我应该做什么…我觉得应该更容易引用不同视图控制器中的属性。 我可能有点模糊; 如果我是,告诉我你需要知道什么!