0

Xamarin / MonoTouch 的新手

我有一个通用故事板应用程序(ipad 和 iphone) 我使用故事板

因此,我将 MainViewController 的 segue 链接到了 secondaryViewController (educateViewController)。

我不使用也不想使用导航控制器(我可以在本机 iOS 中执行此操作)

我正在为 PerformSegue 调用而苦苦挣扎,这导致

System.Exception:在已被 GC 处理的 MyTestApp.educateViewController (0x9827E50) 类型的托管对象上从 Objective-c 调用选择器 ---> System.Exception:未找到 MyTestApp.educateViewController::.ctor(System.整数点)

我有私人教育视图控制器教育屏幕;

和 ViewDidLoad()

partial void educate (MonoTouch.Foundation.NSObject sender)
        {
            solveIt(sender);

            if (valid) {
                if (UserInterfaceIdiomIsPhone) {
                    this.PerformSegue("educate", this);  <<<< error occurs here
                } else if (UserInterfaceIdiomIsiPad) {
                    this.Instructor.Hidden = false;
                }
            }
        }

仅当它在 iPhone 上时才应调用 Segue

欢迎大家帮忙,先谢谢了

4

2 回答 2

3

您需要确保 EducateViewController 实现以下构造函数:

public EducateViewController (IntPtr handle) : base (handle)
{
}

这应该允许从情节提要中实例化视图控制器。

于 2013-04-04T11:35:34.070 回答
0

执行 Segue:

this.PerformSegue("segueIdentifier here", this);

在目标类上,添加:

protected MyCustomController(IntPtr handle) : base(handle)
        {
            // Note: this .ctor should not contain any initialization logic.
        }

注意:请将“MyCustomController”更改为您的目标控制器名称。

于 2018-04-27T11:01:58.513 回答