Xcode 3.2.6/MonoTouch 4.2.x/MonoDevelop 2.6で開発中のiPadプロジェクトがあり、 Monotouch 5、MonoDevelop 2.8.1、Xcode 4.2のプロジェクトをコンパイルしてOKを実行します。しかし、Xcode 4.2(コンセントを追加する)でXIBファイルを変更し始めたとき、私はいくつかの不具合が発生し始めました:MonoTouch 5エラー:Xcode 4.2とMonoDevelop 2.8に移行した後、「セレクタsetXxxxxxを見つけられませんでした」
1)アプリケーションがクラッシュし、デバッグモードのMonoDevelopに、ビューアウトレットが設定されていないため、 。 Xcode 4.2では、.hファイルに "view"という名前のコンセントを作成する必要はなく、デザイナーのビューコントロールにFile Ownerビューを接続するだけでよいことがわかりました。正しい?
2)主な問題はまだ解決されていません。「セレクタsetXxxxxを見つけられませんでした」という例外があります。「xxxxx」はUIコントロールのコンセントの名前です。これは、ベースビューコントローラから継承したViewControllerで発生し始めましたが、他の通常のViewControllerを変更するとすぐに、同じタイプのエラーが発生しました。何が間違っているかのヒント?
3)私は動的にいくつかのビューをロードし、それは正常に動作するコントローラがあります。しかし、このサブビューアウトレットの1つ(UILabelのTextのような)にプロパティを設定すると、値は(デバッガ上で)設定されますが、UIでは変更されません。たとえば、アクションは正常に動作します。何が間違っているかもしれない。
4)Xcode 4.2でMonoDevelop 2.8と正しく統合するために必要なXIBの特別な設定は何ですか?
以前のツールとモノトゥッチの設定に戻ってみましたが、プロジェクトがアップグレードされたら、今行ったすべての開発を失うことなく元に戻ることはできません。
おかげで、ペドロ
EDIT:(以前に生成されたコードの多くを置き換える)MonoTouchで5によって生成された新しいクリーン帰属[アウトレット]コードのほかに、有意な差は部分クラスを生成する前には、公共だったということです今はプライベートですが、これは私の問題の原因かもしれません。パブリック部分クラスを生成する方法や保護する方法はありますか?
EDIT 2:partialクラスにpublicキーワードを追加し、designer.csのMonoTouchによって生成されたメンバーを手動で追加すると、セレクタがシーンの裏に生成され、すべて動作します。これは、MonoTouch 5でバインドの世代が変更されたpublicからprivate部分クラスへの変更で、設計上またはバグか?私はそれが非常に奇妙なことが今アウトレット、サブクラスを持つviewcontrollerを作成することは不可能で、子ビューコントローラは親クラスアウトレットにアクセスすることができないことがわかります。
Xamarinみんな、何か手がかり?私はいくつかのアウトレットを持っているViewControllerを持っていて、いくつかのパブリックプロパティ(get; set;)を使用してこれらのアウトレットを設定していますが、継承されたViewControllerクラスはこれらのアウトレットに対してselectoresを生成していないようです。任意の設定が必要ですか? –