无法更新 UITableView

2024-03-21

我有 UITableViewController 作为 RootViewController。我需要根据从 RootViewController 线程启动的另一个线程获取的数据向表中添加行。当我从其他线程返回到 RootViewController 的线程时,我拥有更新的数据,但我无法更新 TableView。我打电话给[self.tableview reloadData];方法,但这似乎不起作用。我也尝试过[self.tableview setNeedsDisplay]打电话但没有成功。如何使用新数据更新 TableView?

In my RootViewController Class I have:

- (void) reload {

for(int i=0;i<[camDetails count];i++)
 {
    cCameraInformation *obj = [[cCameraInformation alloc] init];
    obj = [camDetails objectAtIndex:i];
    NSString *tString = [[NSString alloc] initWithFormat: @"        Remote     %s     %s",[obj->sCameraid UTF8String],[obj->sCameraid UTF8String]];
    [tableEntry addObject:tString];
 }
 [self.tableView reloadData];
}

然后有一个接收类线程,它不断地接收数据。它的基类是NSObject。因此,我使用 Application 委托类(它具有 RootViewController 类的实例)在接收线程中调用 RootViewController 类的此重新加载数据方法。

我无法使用 PerformSelectorOnMainThread 调用上述方法。


嘿,您确定要在主线程上更新表视图显示/重新加载表视图吗?我遇到了同样的问题,数据在那里,但直到用户滚动,表视图才更新

经过谷歌搜索,我知道你需要在主 ui 线程上调用 reloadData 方法

代码示例如下:

- (void) getDataOnNewThread
{
    // code here to populate your data source
    // call refreshTableViewOnMainThread like below:
    [self performSelectorOnMainThread:@selector(refreshTableView) withObject:nil waitUntilDone:NO];
}

- (void) refreshTableView
{
    [tableView reloadData];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法更新 UITableView 的相关文章

随机推荐

  • Scala 构造函数混乱 - 请澄清

    我对 Scala 构造函数感到非常困惑 例如 我有以下类 它们表示一棵树 其中包含诸如 Add 之类的运算符 并且树上的叶节点是数字 abstract class Node symbol String abstract class Oper
  • 将 UIBarButtonItems 添加到工具栏时出现问题

    我有一个 UINavigationController 和一个 UITableViewController 我想在底部显示一个带有 UIBarButtonItem 的工具栏 工具栏已显示 但按钮不会出现 有人知道为什么吗 void view
  • 在MIPS中,为什么跳转指​​令可以将程序计数器设置为28位目标地址

    在 MIPS 中 32 位跳转指令由 6 位操作码和 26 位我们要设置程序计数器的目标 目标 地址组成 然而 可以将程序计数器设置为 28 位目标地址 如果跳转指令只能容纳 26 位 这怎么可能呢 MIPS 上的指令始终是 4 字节对齐的
  • 如何在 HTML 表格中呈现树?

    我正在尝试在 HTML 表中显示树结构 它基本上是您提到某个网站的人员列表 但您可以展开每个人员并查看他们也提到的人员 仅 2 或 3 级 我还显示了每个人的许多信息 因此我使用了一个包含几列的表格 我想知道显示此内容的最佳方式是什么 以便
  • 在后台 android 每 5 分钟运行一次截击请求

    我使用 Volley 库来连接我的应用程序中的服务器 现在 当应用程序未运行 被用户杀死 时 我也必须每 5 分钟在后台发送一次请求 我该怎么做呢 有了后台服务 AlarmManager 谷歌表示这对于网络运营来说不是一个好的选择 还是其他
  • 设置 Range.Locked 时出现错误 1004

    当我试图设置Locked http msdn microsoft com en us library bb213550 28v office 12 29 aspxRange 对象的属性 代码如下所示 that goddamn sheet U
  • 如何将项目添加到列表中?

    我想添加一个字符串单词listOfVideosRated 列在我的用户表中 如果您可以发布您的架构 解析器映射模板 我可以提供更具体的建议 但我会尽力用您迄今为止发布的内容来回答这个问题 简单的方法 如果您已经拥有现有项目 则执行此操作的一
  • iOS7 UIWebView 内存泄漏

    我们有一个具有混合模式的综合 iOS 应用程序 UIWebView 在 JS 中保存了 Web 应用程序的主要部分 它在 iOS6 上运行良好 但最近我们发现所有 iOS7 设备 iPad iPhone 4 4S 和 iPhone 5 5C
  • 如何将字符串转换为 BigInteger?

    我正在尝试从标准输入中读取一些非常大的数字并将它们加在一起 但是 要添加到 BigInteger 我需要使用BigInteger valueOf long private BigInteger sum BigInteger valueOf
  • 默认显示所有文件

    有没有办法默认打开 Visual Studio 解决方案资源管理器 显示所有文件 设置 不是 Visual Studio 设置 但如果您使用版本控制 则会有所帮助 在 vcxproj 或解决方案范围的 props 文件中插入以下行
  • 我不明白为什么我的 group by 失败

    SELECT ENAME MAX SAL STORES CITY FROM EMPLOYEES INNER JOIN STORES ON EMPLOYEES STORE ID STORES STORE ID GROUP BY EMPLOYE
  • Pandas DataFrame:使用列的唯一值转换框架

    我有一个以下形式的 pandas dataframe csv date Country Type Val 2013 01 01 USA x 23 2013 01 01 USA y 13 2013 01 01 MX x 11 2013 01
  • 打开 Spyder 时出错: pylsp >=1.7.2,<1.8.0 : 1.7.1 (NOK)

    我尝试升级conda和spyder 但遇到了问题 I tried conda update anaconda conda install spyder 5 4 3 pip install pylsp mypy 我先在spyder终端中使用选
  • Android - 滚动 ListView 时微调器选择消失

    我有一个包含一堆微调器的列表视图 但是当我滚动列表视图时 微调器的值会被重置 有没有办法来解决这个问题 这就是我的 ArrayAdapter 类的样子 公共类 ProductArrayAdapter 扩展 ArrayAdapter 私有最终
  • 使用模板调用重载函数(未解决的重载函数类型编译器错误)[重复]

    这个问题在这里已经有答案了 可能的重复 如何获取重载成员函数的地址 https stackoverflow com questions 705854 how to get the address of an overloaded membe
  • Objective-C 中连接 NSString 的快捷方式

    有没有什么捷径可以到达 stringByAppendingString Objective C 中的字符串连接 或使用的快捷方式NSString一般来说 例如 我想做 NSString myString This NSString test
  • 固定 - 液体 - 固定布局

    我想要一个 固定 液体 固定 跨浏览器兼容的布局 HTML body div col 1 div col 2 div col 3 CSS col 1 width 150px float left col 2 width 100 paddin
  • 如何初始化句柄

    Error Run Time Check Failure 3 The variable TextLabelVar is being used without being initialized 示例代码 HWND VarText char
  • AngularJS:ngRoute 未提供所需的主页

    我不知道为什么我的根目录 主页 无法正确路由 显示 这是我的 ASP Net Core 项目文件目录设置 这是我的MapRoute声明于Startup cs app UseMvc config gt config MapRoute name
  • 无法更新 UITableView

    我有 UITableViewController 作为 RootViewController 我需要根据从 RootViewController 线程启动的另一个线程获取的数据向表中添加行 当我从其他线程返回到 RootViewContro