首页 文章

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

提问于
浏览
0

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

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

以下是我的自定义演示者(它是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

    通过电子邮件跟进这个...

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

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

相关问题