之前的建议还是正确的。
看起来这可以非常简单地构建到 Android、WP7 和 iOS 中
我可能错了或者遗漏了一些东西,但是当我过去尝试构建这个时,简单性似乎很快就变得复杂了:(
虽然在一种特定情况下看起来很简单,但对于一般框架来说,还有许多其他情况需要考虑 - 例如当使用枢轴、选项卡、弹出窗口、模式、分割视图等时 - 在这些多种情况下,标准方法可能并不完全通用。
特别是 iOS,有时会使这种检测变得更加困难(特别是在您的 UIViewController 可能位于或不位于 NavigationController 内部的一般情况下)。
更简单的是检测视图是否可见并发出信号通知 - 但即使这似乎也不完全简单 - 在 iOS 中存在 ViewDidDisappear 不会被调用的情况 - 而且,这些事件可能只是简单不是您的应用程序需要响应的内容...
虽然您可能感觉您所需要的只是一个轮子,但显而易见的事实是,没有一种通用的轮子 - 轮子有许多不同的样式和尺寸。我现在已经看过很多 MvvmCross 应用程序...但我还没有弄清楚标准应用程序是什么样子。一个应用程序中“明显”正确的设计和架构可能看起来与其他应用程序中采用的方法完全不同。
一般来说,我怀疑个别应用程序需要这种功能,那么这将是在非常明确的场景中 - 例如在已知的表示框架内使用已知的视图类型。在这些情况下,我怀疑对于当时的应用程序开发人员来说,仅针对该应用程序场景实现一些东西将是非常简单的。我还怀疑其中一些场景可以在某些应用程序之间共享 - 但我不确定一种代码模式是否适合所有应用程序 - 甚至许多应用程序。
我非常非常高兴看到用户在撰写博客、github 帖子或论坛时谈论他们在该领域的经验。博客文章如http://www.gregshackles.com/2012/11/returning-results-from-view-models-in-mvvmcross/ http://www.gregshackles.com/2012/11/returning-results-from-view-models-in-mvvmcross/展示如何在 Mvvm 之上应用和重用模式。
甚至可能从这些博客文章中,我们找到了一种在核心 mvvmcross(和其他)库中获得更多功能的方法 - 但对我来说也很重要的是,我们保持核心库尽可能轻量、灵活和可扩展。
当像您这样的人谈论他们的跨平台 mvvm 体验时,我会尽力保持链接页面最新 -http://slodge.blogspot.co.uk/p/mvvmcross-quicklist.html http://slodge.blogspot.co.uk/p/mvvmcross-quicklist.html- 希望这能帮助人们分享想法、概念和代码。