gpt4 book ai didi

objective-c - TableView 中项目数的内存限制

转载 作者:行者123 更新时间:2023-11-29 13:43:33 25 4
gpt4 key购买 nike

我在表格 View 中显示的列表中的项目数量是否存在内存问题?如果用户不断添加项目,应用程序最终会不会因内存问题而崩溃?

最佳答案

回答您的问题:

  1. 对此没有非黑即白的答案。为了尽力解释,将 UITableView 想象成一种可视化数据数组。事实上,大多数人(包括我自己)使用像 NSArray 或 NSDictionary 这样的源数据对象来为 UITableView 提供显示数据。适用于这些对象(数组和字典)的所有内存限制都适用于您的 UITableView,假设您的 UITableView 设置正确并且您正在使用推荐的重用单元格技术。这归结为:是否可以拥有一个非常大的 UITableView? - 是的。不过,这我不知道要多久。我创建了具有复杂子类单元格和 200 行的 UITableViews,它们运行良好。这取决于您如何设置表和您使用的数据源。再次记住,限制是由于数据源造成的。拥有一个非常大的阵列,最终您的设备将抛出内存警告。作为最佳实践,请使用分页。在 UITableViews 上启用分页有大量在线教程。如果正在下载图像,请延迟加载图像(如果有)。

  2. 是的,你可以。如果您在子类化 UITableViewCells 时足够有创意,您可以做很多令人惊奇的事情。否则,您也可以使用标准的 UITableViewCell。那里有两个标签:textLabel 和 detailTextLabel。使用这两个来显示你想要的数据。

  3. 您的 UITableViewDelegate 有一个您可以实现的 didSelectRowAtIndexPath 方法。只要将包含 UITableView 的 View Controller 设置为其委托(delegate),它就会响应 didSelectRowAtIndexPath。

  4. 只需清空您用作数据源的数组(请记住,您的 numberOfRowsInSection 数据源方法必须使用数组计数)并在 UITableView 上调用 reloadData

编辑:问题已被编辑,因此上述 4 点中只有第 1 点适用于该问题 :) 其他人很高兴知道

关于objective-c - TableView 中项目数的内存限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8318664/

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