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 に答える