【问题标题】:UITableView with 500 items in MonoTouch [closed]在 MonoTouch 中有 500 个项目的 UITableView [关闭]
【发布时间】:2012-02-15 05:45:54
【问题描述】:

我想知道使用 MonoTouch 和 sqlite-net 在 UITableView 中处理大量数据的最佳方法是什么?我使用 MonoTouch.Dialog 系统,但似乎大多数 MonoTouch 开发人员正在加载集合,然后构建 UITableView,而不是在单元格进入视图时按需加载类型。我见过 twitter 之类的应用程序,以及其他在您滚动、联系人等时显示图像和内容的应用程序,并且想学习正确的方法来实现出色的应用程序。目前我的应用程序包含少量数据,因此我预先加载了一个集合,但我需要重新处理。

任何人有任何使用 MonoTouch 管理 UITableView 的建议或示例,其中包含可以按需加载的一长串行列表?我认为这样的事情是用 CoreData 为 XCode 开发者处理的,MonoTouch 开发者是如何处理这个问题的?

谢谢。

【问题讨论】:

  • 物品有多大?如果它们很小,将它们全部放入 IList 应该不是一个大问题。如果您在 GetCell() 中正确缓存单元格,则 UITableView 应该只在任何时候根据需要分配足够的单元格。
  • 返回的每一行只有大约 6-10 列,没什么大不了的。这个列表可能会增长到数千,所以我想知道等效选项是用于按需加载,如我相信会提供的 CoreData。我还没有看到有人真正在 MonoTouch 中使用 CoreData,或者如果有必要的话。我正在考虑获取结果集的记录计数,然后跟踪行号并根据行变得可见的按需查询。这将是很多查询而不是一个预先查询,只是寻找最佳实践,例如在联系人应用程序中。

标签: ios xcode uitableview core-data xamarin.ios


【解决方案1】:

这是一个简单的建议。也许它不符合你的规范,但我还是会写的。也许它会很有用。

几个月前,我正在使用 MT 开发一个 iPad 应用程序,我遇到了类似的问题:从 SQLite 数据库中检索大量项目并在 UITableView 中显示项目。由于一次加载数据不方便,我采用了这种方法。在模型中加载一堆数据(比如 50 个项目)。加载后,模型用于在表格上呈现数据。当用户到达表格末尾时,我会在该表格视图的页脚部分显示“显示更多”标签。然后如果用户点击它,再次加载数据(其他 50 个项目)并重新加载表格,等等。

注意我的规范是只有一个部分和多个项目。

希望对你有帮助。

【讨论】:

  • 这是一个很好的建议,我已经看到应用程序这样做了。有点像“分页”,但使用了“加载更多”的比喻。好建议。
  • 希望对您有所帮助。如果你愿意,也许可以投票给答案...... :-)
  • 你们可能会发现我写的一个库很有用,并且不需要显示“加载更多”项目:github.com/jstedfast/MonoTouch.SQLite
【解决方案2】:

我编写了一个简单易用的库,该库负责处理将数据从 SQLite 增量加载到名为 MonoTouch.SQLite 的 UITableView 的大量逻辑。你可以在这里找到我的 GitHub 项目:https://github.com/jstedfast/MonoTouch.SQLite

要查看的主要类是 MonoTouch.SQLite.SQLiteTableViewController 类,它还集成了搜索支持。我想你会发现它使得从 sqlite 表中显示数据变得非常简单。

随意 fork 并以任何你想要的方式修改它!

【讨论】:

    猜你喜欢
    • 2019-11-18
    • 1970-01-01
    • 2011-03-29
    • 2015-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多