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

当你使用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,使用它可以完成所有的这些工作。

原文地址:https://www.cnblogs.com/shihao/p/2424903.html