重新显示模态视图模型时,MvvmCross应用程序冻结并崩溃

时间:2012-07-23 14:58:05

标签: crash xamarin.ios modal-dialog mvvmcross

我正在处理的应用程序包含一个数据层次结构和一个用于搜索该数据的过滤器。数据显示在表视图的层次结构中,通过该层次结构的导航工作正常。但是,当我尝试导航到我的过滤器视图模型(显示为模态视图控制器)时,我遇到了问题。

我第一次打开模态视图时,一切正常,我可以关闭它,所有导航仍然有效。但是,当我第二次尝试打开它时,模态视图将会出现,应用程序将在几秒钟后冻结并崩溃。

以下是我的自定义演示者(它是MvxModalSupportTouchViewPresenter的子类)的代码,它处理模态导航请求:

public override void Show (IMvxTouchView view)
{
    if (view is IMvxModalTouchView) {
    var newNav = new UINavigationController ();
    newNav.PushViewController (view as UIViewController, false);
    newNav.NavigationBar.TintColor = UIColor.Black;
    PresentModalViewController (newNav, true);
    return;
...

(摘自MvvmCross Using a modal ViewController from a Tab

我通过在视图中解雇它来关闭模态。有谁知道应用程序崩溃的原因?

1 个答案:

答案 0 :(得分:1)

通过电子邮件对此进行跟进......

  

“至于我之前的问题,我发现了错误的位置。视图   与我的模态视图模型相关联进入了无限循环   Dispose()调用。只有当模态显示为多个时才会发生   倍。注释掉Dispose()方法允许我打开它   多次。“

目前还不确定这是mvx框架或应用程序代码中的错误 - 但我认为我会在这里发布这个以防它帮助其他人