gpt4 book ai didi

cocoa-touch - UITableViewCell 在显示时没有刷新?

转载 作者:行者123 更新时间:2023-11-28 17:47:53 24 4
gpt4 key购买 nike

我对 UITableView/UITableViewCells 有一个非常奇怪的问题。

我有一个简单样式的 UITableView,它显示一个对象列表(作为参数,可以说是 MenuItemsViewController),它有一个名为 ItemViewController 的子对象。当用户在 MenuItemsViewController 中选择一个对象时,MenuItemsViewController 只是更改 ItemViewController 上的 menuItem 属性。

当用户选择他们的第一个项目时,一切都会正常显示。但是,在随后选择其他项目时,ItemViewController 的第一部分中的数据不会更改 - 即它仍然显示第一个项目的属性。我在 tableView:cellForRowAtIndexPath:tableView:willDisplayRowAtIndexPath: 方法的末尾设置了断点,并在显示时查询单元格显示 textLabel/detailTextLabel 属性是一切正确 - 即在内部,它们完全具有它们应该的状态。但是,UITableView 仍然没有显示正确的信息。

感谢任何帮助 - 这个问题让我发疯。我现在正在录制视频并将其上传到 YouTube 以进行演示,因为这是一个非常奇怪的问题,我认为人们可能会误解我的问题。

编辑:和视频 - http://www.youtube.com/watch?v=AwHTaHCQtX8&feature=youtube_gdata_player

编辑 #2:所以,这太疯狂了:经过连续 6 小时的调试和测试,结果证明动画问题是由在出现故障的 NSManagedObject 上调用 getter 引起的...我没有 知道为什么。没有任何。我想现在这是一个核心数据问题,所以我将其添加为标签。

最佳答案

您必须告诉 TableView 其内容已更改。可能的解决方案是将 [self.tableView reloadData] 添加到 ItemViewController 的 viewWillAppear: 方法。

但我强烈建议您覆盖 menuItem 属性并添加代码以分别使用 reloadRowsAtIndexPaths:withRowAnimation:/reloadRowsAtIndexPaths:withRowAnimation: 仅重载更改的单元格/部分。

关于cocoa-touch - UITableViewCell 在显示时没有刷新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4245256/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com