3

我对通过 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

任何帮助高度赞赏。

4

1 回答 1

4

IntPtr手柄不是您应该传递的东西。

请改用此构造函数:

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

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

public MyViewControllerGeneric<T> : MyViewController{
    public MyViewControllerGeneric() : base("MyViewControllerGeneric", null){ }
}
于 2012-08-30T17:23:50.547 回答