问题标签 [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.
iphone - UITableView reloadData 多次导致内存泄漏和应用程序变慢
我在使用 Leaks 仪器时犯了一个错误,我认为所有的生物都是内存字节,所以我更新了我的帖子!
[更新]
大家好,
我面临一个问题:
我的应用程序使用 UITableView 呈现实时数据,它可能包含最多 34 个自定义单元格,因此在接收更新数据时,我必须为该 UITableView 执行 reloadData,它通常重新加载 2-3 次/秒以更新 2-5 个单元格(以及当单元格更新时,我使用 UiView 动画来闪烁相关的文本标签)。
启动应用程序时,一切正常,运行平稳,但保持运行大约 20-30 分钟,它会变慢,有时会在一秒钟内挂起。我确实使用 Leaks 仪器测试了我的应用程序,发现它在启动后使用了大约 17Mb 的内存,但在20-30 分钟后,它使用了25k-28k 的活体(1.7Mb 的内存),当我尝试浏览所有屏幕时,它使用多达8 万个活体(6.5Mb 内存) :(
我猜 UITableView 多次重新加载会导致我的应用程序一次又一次地使用越来越多的内存并使其运行缓慢。
所以有人知道如何解决这个问题,请帮助我,非常感谢!
iphone - TableViewCell 中的 UISwitch - 切换时更改单元格的文本
我希望 TableViewCell 中的 UISwitch 在切换时将文本从“活动”更改为“禁用”,反之亦然,但是当开关更改时,我的表格视图中的所有数据都会消失。我正在使用“重新加载数据”,因为我不知道如何更改特定单元格的文本。
仅供参考,“当前项目”是具有 BOOL 属性“itemEnabled”的核心数据实体。
该开关仅在“编辑模式”期间可见。
我的“详细视图控制器”中的表视图单元格中有一个 UISwitch:
}
我有一种接收动作的方法:
}
iphone - 你如何使用reloadData?
我在 IB 中设置了一个表格视图。它的委托/数据源连接到这个类:
我正在尝试调用 reloadData 方法。如果我使用 [self.view reloadData]; 它没有响应,我猜是因为技术上 self.view 不是 UITableView。我尝试添加以下内容:
然后我将它连接到我在 IB 中的表格视图。现在我的程序在视图加载时崩溃了。有任何想法吗?
iphone - 我的 tableView 只有在添加了一个额外的字符后才从 UISearchBar 刷新
我有一个 tableView,它通过 UISearchBar 的 textDidChange 函数从数组中刷新数据。数据是正确的,但它直到点击一个附加字符后才会出现在 tableView 中(因此,例如,如果我在搜索栏中输入“博伊西”,则没有任何反应,但“博伊西 1”将加载两个名为“博伊西”的城市'..所以它落后了一步)。
在被调用的方法中:
最后是 cellForRowAtIndexPath:
iphone - 用内容重新加载我的 tableView 后,它仍然显示为灰色,直到我点击它..为什么?
从 UISearchBar 检索搜索结果后,结果正确显示在我的 tableview 中,但视图“变灰”(见下图)..对此的任何帮助表示赞赏,我在 Apple 文档中找不到解决方案。
这是我在点击搜索按钮时触发的代码:
这就是刷新表格视图的方式:
iphone - 在 UITableView 上延迟 reloadData
我有一个 UITableView。点击一个按钮,我想显示我的自定义视图,然后,一旦视图可见,从 tableview 中删除特定项目。自定义视图隐藏了 tableview,所以我希望在这个新视图可见之后进行删除。
目前,我有这个,它添加了自定义视图,然后应该删除该项目,并重新加载表格,但重新加载发生在动画结束时(我有一个动画块,更改视图 alpha),所以我可以看到更新。
如何将重新加载延迟到视图可见之后?
谢谢。
cocoa - IKImageBrowserView "--ImageKit 错误:在非主线程中调用了 reloadData"
我正在编写一个使用 IKImageBrowserView 的 Cocoa Mac 应用程序。当我调用以下内容时:
调试器控制台打印以下内容:
我尝试将 reloadData 方法放在另一个方法中,然后调用以下命令:
但我仍然得到相同的 ImageKit 错误。有任何想法吗?
iphone - iPhone - Tableview 中的多线程 - 可行的方法?
我最近一直在跟踪一个令人讨厌的错误,我知道它是由于我的多线程方法而发生的(我在最后添加了崩溃报告)。
在我的应用程序中,我加载了一个 UITableView 并用我使用 Coredata 存储的数据填充它。我又从网络服务中检索这些数据,因此可能需要一些时间,具体取决于我的连接。
无论如何,我已经设法找到了一点,我知道问题是因为数组是空的,尽管我认为它不应该是空的。那么,当
被称为程序崩溃 - 但只是有时!
我想知道如何正确调试,我的方法是调用
视图完成加载后在 tableView 上。但从表面上看
但这当然没有帮助。这里是创建另一个线程并让它重复检查数据是否准备好并准备好的正确方法吗?有什么建议/意见吗?
numberOfRows 看起来像:
}
ios - Iphone - 当每个单元格高度是动态的时,何时计算 tableview 的 heightForRowAtIndexPath?
我已经多次看到这个问题被问过,但令人惊讶的是,我还没有看到一个一致的答案,所以我会自己尝试一下:
如果您有一个包含您自己的自定义 UITableViewCells 的 tableview,其中包含 UITextViews 和 UILabels,其高度必须在运行时确定,那么您应该如何确定 heightForRowAtIndexPath 中每一行的高度?
最明显的第一个想法是通过计算然后对 cellForRowAtIndexPath 内的单元格内的每个视图的高度求和来计算每个单元格的高度,并存储最终的总高度以供以后检索。
然而这将不起作用,因为 cellForRowAtIndexPath 在 heightForRowAtIndexPath 之后被调用。
我唯一能想到的就是在 viewDidLoad 中进行所有计算,然后创建所有 UITableViewCells,计算单元格高度并将其存储在 UITableViewCell 子类中的自定义字段中,然后将每个单元格放入 NSMutableDictionary 中,并将 indexPath 作为键,然后简单地使用 cellForRowAtIndexPath 和 heightForRowAtIndexPath 中的 indexPath 从字典中检索单元格,返回自定义高度值或单元格对象本身。
这种方法似乎是错误的,因为它没有使用 dequeueReusableCellWithIdentifier,相反,我将一次将所有单元格加载到我的控制器中的字典中,并且委托方法只会从字典中检索正确的单元格。
我没有看到任何其他方式来做到这一点。这是一个坏主意 - 如果是这样,正确的方法是什么?
ipad - 如果使用 UIModalPresentationFormSheet 呈现模型,如何在子视图上重新加载数据
我在我的 iPad 应用程序中实现了 UIModalPresentationFormSheet。新视图部分覆盖了子视图并允许用户做出选择。这一切都很好,但是......
当用户选择一个选项时,我想用新的细节更新底层视图,但不能让它工作!
我尝试过使用 setNeedsDisplay 或 [table reloadData]; 在 viewDidAppear 和 viewWillAppear 方法中。
为了代码的一些代码:
我的过渡如下。如果此行被注释掉,则应用程序按预期运行:
任何帮助表示赞赏,谢谢!