最初のサードパーティライブラリをモノタッチプロジェクトにバインドしようとしています。ほとんどのバインディングは機能しますが、ObjectiveCクラス拡張のバインディングに問題があります。Binding Objective-CTypesドキュメントの「BindingClassExtensions」の部分を知っていますが、残念ながらそれは役に立ちませんでした。
これらは私がバインドしようとしている2つの拡張機能です:
// category on UIViewController to provide access to the viewDeckController in the
// contained viewcontrollers, a la UINavigationController.
@interface UIViewController (UIViewDeckItem)
@property(nonatomic,readonly,retain) IIViewDeckController *viewDeckController;
@end
// category on WrappedController to provide access to the viewDeckController in the
// contained viewcontrollers, a la UINavigationController.
@interface UIViewController (WrapControllerItem)
@property(nonatomic,readonly,assign) WrapController *wrapController;
@end
そして、これは私がそれらをバインドしようとしている方法です:
[BaseType (typeof(UIResponder))]
interface UIViewController
{
[Export ("viewDeckController", ArgumentSemantic.Retain)]
IIViewDeckController ViewDeckController { get; set; }
[Export ("wrapController", ArgumentSemantic.Assign)]
WrapController WrapController { get; set; }
}
そして、これをアプリケーションでコンパイルしようとすると、次のようになります。
パブリック部分クラスAgendaView:UIViewController
次のエラーが発生します。
「UIViewController」は、「MonoTouch.UIKit.UIViewController」と「ViewDeck.UIViewController」の間のあいまいな参照です。
この解決策をウェブで検索しようとしましたが、見つかりませんでした。誰かが私をさらに助けてくれると嬉しいです。
前もって感謝します