我有很多使用SQL,SQLite和C#在Windows上编写数据库的经验,试图找出使用MonoTouch.Dialog进行数据库操作的最佳方法,我的最后一个C#项目将所有表中的所有记录加载到使用名为dirty(bool)的额外字段镜像数据库中的表的类,以计算出需要更新的内容。
我猜我应该在关闭dialogviewcontrollers时使用SQLite更新对MonoTouch.Dialog做同样的事情?,将表类包装到dialogviewcontrollers类的类中是明智的,因为这似乎是正确的要走的路,比如说为每个dialogviewcontroller创建单独的类,并在其中包含数据。
上下移动主细节视图的最佳方法是什么,例如通过身份证。
感谢
亚历
答案 0 :(得分:0)
在我目前的MT.D项目中,我定义了一个处理数据库访问的服务层。我将子类DialogViewController传递给相应数据库行的 id ,例如打开一个新表单来编辑对象。然后,新的DVC负责通过服务层对数据库进行的任何CRUD操作。
如果DVC更新数据库,则服务层使用包含已修改对象的参数引发事件。向父DVC事件处理程序通知数据的更改并且可以适当地更新UI。这取决于DVC中可用的MT.D部分和元素,因此在创建例如元素我将它们存储在由数据对象 id 索引的字典中。
对我来说,这提供了一个充分分离的架构,我使用Funq DI框架组装应用程序(需要为MonoTouch重新编译)。我很想知道其他人如何在MT.D app中处理这个问题。