使用 MonoTouch.SQLite 简化用户界面开发

  • Jonathan Allen
  • 曹如进

2012 年 3 月 28 日

话题:语言 & 开发

当你使用 iOS 和 MonoTouch 时,可能需要显示一个 SQLite 表中的数据。虽然你可以通过构建 UITableViewController 来完成数据显示,但是整个过程相当耗时,并且需要相当多的样板代码。Jeffrey Stedfast 找到了一种方法,通过借助 MonoTouch.SQLite 可以将简单的表格绑定减少为一个单个方法。

MonoTouch.SQLite 是一个数据库感知的 UI 库,旨在简化表格数据显示。SQLiteTableModel模型类是 MonoTouch.SQLite 的底层基础。该模型提供了现成的带有排序和过滤的基础表格访问,因此当使用它显示简单数据时,你不需要做任何操作。但如果需要使用复杂的 SQL 语句,你可以实现它的子类并重写其中的 SQL 生成方法。

套件(stack)的下一个部分是控制器本身。对于那些还不是 iOS 开发人员的用户,需要知道 Apple 的 UI 库必须严格遵循经典的 MVC 模式。这意味着类似表格的视图需要继承自UITableViewController类。MonoTouch.SQLite 通过其子类SQLiteTableViewController处理了大部分细节。在示例程序中,你会看到只要实现 GetCell 方法即可。

终端用户查找

为了让终端用户更轻松地查找信息,MonoTouch.SQLite 可将用户输入的字符串转换为自定义的 SQL where 子句。要做到这一点,用户只要简单地使用特性 SQLiteSearchAlias 标记它们的数据模型属性。同一个别名(alias)可使用多次,例如 FirstName 和 LastName 都可能被标记为别名”name”,而后当用户输入 address:"Newton, MA" name:Jane’时,MonoTouch.SQLite 会生成一个 where 子句,并在 address 列和 name 列中查找匹配。

此外,iOS UISearchDisplayController包装了前面提及的 UITableViewController,使用它可以完成所有的这些工作。

查看英文原文:Simplified UI Development with MonoTouch.SQLite

语言 & 开发