如何在MonoTouch中以编程方式实例化子类View Controller?

时间:2012-08-30 15:03:14

标签: xamarin.ios

我已经创建了一个通过XCode Interface Builder创建的ViewController。我的子类定义如此

public MyViewControllerGeneric<T> : MyViewController{
    public MyViewControllerGeneric(IntPtr handle) : base(handle){}
}

我可以使用Storyboard.InstantiateViewController(“MyViewController”)来获取MyViewController的实例。但是,如何创建MyViewControllerGeneric的实例并将句柄传递给它?

尝试

var vc = new MyViewControllerGeneric<MyType>(this.Handle)
var vc = new MyViewControllerGeneric<MyType>(new IntPtr(DateTime.Now.Ticks)

都抛出一个SigAbort

任何帮助都非常感谢。

1 个答案:

答案 0 :(得分:4)

IntPtr句柄不是你应该传递的东西。

请改用此构造函数:

public MyViewControllerGeneric<T> : MyViewController{
    public MyViewControllerGeneric() : base(){ }
}

或者如果您需要加载NIB,这取决于您的基类:

public MyViewControllerGeneric<T> : MyViewController{
    public MyViewControllerGeneric() : base("MyViewControllerGeneric", null){ }
}