问题标签 [reloaddata]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
660 浏览

iphone - reloadData 之前的延迟

我正在加载一个 tableView,它从另一个位置填充它的一些元素......我正在使用 NSNotificationCenter 向视图控制器发送一条消息,以便在数据加载到数据源(NSMutableArray)后重新加载数据......我有一些NSLogs 以帮助调试,并且在触发通知和 tableView 实际重新加载数据之间存在巨大延迟......我想我已经追踪到 cellForRowAtIndexPath 中的延迟,它根本没有任何花哨的东西:

当收到通知时,我还有一个 NSLog 计数 NSMutableArray 数据源,它记录了正确数量的元素......然后在 tableView 重新加载之前有大约 2 秒的延迟。关于造成这种延迟的原因有什么想法吗?

编辑:这是接收通知的代码:

在 viewDidLoad 方法中,我订阅了通知:

更新:我将我的 updateView 更改为此,延迟显着减少:

这是因为 UI 线程被赶上做某事并切换到主线程提高了速度吗?

0 投票
2 回答
2044 浏览

objective-c - 从另一个类重新加载 UITableView?

这是一个很多人都问过的问题,尤其是在 StackOverflow 上。

在表格视图上重新加载数据很容易,[self.myTableView reloadData];myTableView 是我的 UITableView 的实例,因为我使用的是 UIViewController 而不是 UITableViewController。

更新数据(来自 Internet)后,我想从另一个视图控制器重新加载表视图。数据包含在属性列表中。我尝试过使用协议、通知和其他一些东西,比如将其放入viewDidAppear:. 没有什么对我有用。

是我没有想到还是我只是做错了一些方法?非常感谢您的帮助!

0 投票
1 回答
77 浏览

objective-c - 在线程中处理变量的问题

我正在开发一个显示文件系统内容的应用程序。我有两种类型的显示器

1)大纲视图

2)IKImagebrowserView

用户可以在视图之间切换。我在全局变量中维护当前视图对象,currentview因为多个控制器需要访问它。

现在,每当用户切换视图时,一个控制器(在线程上运行)会更改此全局变量。但是我有另一个控制器(取决于一些数据库操作)使用不断刷新当前视图

现在,每当我在视图之间快速切换时,这些线程中的 currentviewobject 都会出现问题,并且应用程序会崩溃。崩溃报告显示应用程序崩溃上线

有什么解决办法吗??

0 投票
2 回答
1997 浏览

iphone - iPhone / iPad 表格视图仅重新加载一行而不是整个表格

代替

有没有办法告诉表格只重新加载一行?我的疯狂是有原因的。

0 投票
2 回答
3691 浏览

ios - iOS uitableview reloadData 不太好用

我有一个 UITableView,数据是从外部存储的数据库中提取的。显然,获取该数据需要一些时间,当应用程序启动时,该表用于其数据的数组中没有数据。

当数据从我调用的外部源加载时,[self.tableview reloadData];但有一个小问题。第一个单元格中没有任何文本,直到它被重绘之后,无论是通过选择它还是通过滚动它离开屏幕。我试过添加一个调用[self.tableView setNeedsLayout];[self.tableView setNeedsDisplay]但这没有明显的效果。

该数组在重新加载表时包含正确的数据,因此它不是竞争条件(我相信!)。

关于可能导致这种情况的任何其他想法?

0 投票
1 回答
280 浏览

uitableview - tableview reloadData 不起作用 - TableView 数据未正确排序

我有一个具有开启和关闭模式的应用程序。在在线模式下,我正在检查服务器的登录、
下载 XML 文件并解析该文件。所有数据都写入 coreData。

我正在使用 NSFetchedResultsController 填充我的 TableView。

如果我使用关闭模式(要使用离线模式,coreData 实体不应该为零),
我只是关闭视图以显示带有 coreData 数据的 tableView。

这里的问题是:如果我使用离线模式,数据排序不正确。
reloadData 不起作用,我尝试了更多次。

我怎样才能重新加载 tableView,所以我也可以在关闭模式下正确排序数据?

编辑1:

在关闭模式下,我只这样做:

如何对 viewDidAppear 上的 tableview 进行排序?

编辑 2:
这里是我的 NSFetchedResultsController:

0 投票
1 回答
89 浏览

iphone - 在 uinavigation 控制器层次结构中重新加载 uitableviews

我浏览了该网站一段时间以找到这个问题的答案,但我似乎无法弄清楚,所以如果这是重复的,请原谅。

我正在创建一个 ios 应用程序,它使用带有 uinavigation 层次结构的 uitableview。当用户单击按钮时,会将 tableview 推送到堆栈上,从 web 服务器上的 xml 文档中解析数据,然后填充数据。当用户点击后退按钮时,您将返回主页。如果用户随后点击按钮返回到前面提到的表格视图,则不会从网络服务器重新解析数据。这些值只是从先前的解析中重新加载。有没有办法防止这种情况发生,因为该应用程序将允许其他用户更新表视图中的值。

非常感谢帮忙。

0 投票
6 回答
18427 浏览

ios - 强制 UITableView 为所有单元格调用 cellForRowAtIndexPath:

我在使用 UITableView 的reloadData方法时遇到了一些问题。我发现它仅在添加或删除新单元格时才调用 cellForRowAtIndexPath。

示例:我有五个单元格,每个单元格包含五个字符串。如果我添加一个新单元格并调用reloadData,表格会更新并且我会看到它。然而,如果我进入五个单元格之一,添加一个新字符串,然后返回并调用reloadData,则不会调用任何表视图的委托方法。

我的问题:是否可以强制表格视图完全重新加载其所有可见单元格中的数据?

0 投票
1 回答
1000 浏览

ios - uitableview reloaddata 缓存?

我在使用 UITableView 和方法 reloadData 时遇到了一些问题。

单击刷新按钮时,我正在刷新 tableView,数据库中的最后一个信息按降序排列,因此最近的项目应该出现在第一个位置。

我的 tableview 中的每个单元格都填充了自定义标签和 uiimageviews。

嗯...问题是,当我按下刷新按钮并找到新数据时,前 5 行(即显示在显示器中的行)没有更新,但后面的行会更新。但是,如果我按下前 5 行中的任何一行,它们就会正确调用 tableView:didSelectRowAtIndexPath: 方法和新数据。

所以,问题是前 5 行的 tableview 的“视觉”内容没有被更新。

任何人都可以帮助我吗?

谢谢!

代码:

0 投票
4 回答
1391 浏览

iphone - UITableView 没有刷新

我有一个由带有几个 TabBarControllers 的 TabBar 组成的应用程序。一个控制器包含一个非常简单的表格,它应该显示 NSMutableDictionary 的内容。当您点击相应的按钮时,Dictionary 会在单独的 Controller 中更新,并且视图会切换到UITableViewController,显示新更新的表格。

我可以看到字典正在更新。但是 TableView 永远不会反映这些变化。事实上,它似乎只在我第一次进入该屏幕时显示更改。

我已经尝试过 [self table.reloadData] 并且当它被调用时,更改不会反映到UITableView.

有没有人有什么建议?我很高兴发布代码,但不确定要发布什么。

更新:表格仅在第一次显示时正确更新和刷新。随后的显示仅显示原始内容。

背景:表格视图从字典中填充:appDelegate.currentFave。每次 TabBarController 调用 ViewController 时,都应该刷新 tableview。