Xamarin を使用した iOS 開発を始めたばかりで、障害にぶつかったようです。データを表示するカスタム テーブル セルを作成しようとしています。そのため、さまざまなオンライン ソース (たとえば、こちらを参照) からプロンプトを取得して、.xib ファイルを作成し、Xamarin が自動的に作成したビューを削除して、.xib ファイルに置き換えましたUITableViewCell
。セルにいくつかのラベルを追加し、セルを登録RegisterNibForCellReuse
して、継承するクラスをセットアップし、UITableViewSource
必要に応じてカスタム セルを返しました。ここまでは順調ですね。
カスタム セルのいずれかのコントロールを取得してアウトレットを作成しようとすると、問題が発生します。XCode でアウトレットを作成すると、すべて問題ないように見えます。Xamarin に戻ると、プロパティが自動的に作成されていることがわかります。
[Register ("MyCustomCell")]
partial class MyCustomCell
{
[Outlet]
MonoTouch.UIKit.UILabel MyLabel { get; set; }
void ReleaseDesignerOutlets ()
{
if (MyLabel != null) {
MyLabel.Dispose ();
MyLabel = null;
}
}
}
しかし、コードを実行しようとすると、実行時エラーが発生しますThis class in not key value coding-compliant for key the key MyOutlet
何が起こっているのでしょうか?Xamarin のドキュメントでは、ここで考えられる原因が示唆されていますが、関連性があるかどうかはわかりません。Xamarin が作成したデザイナー ファイルのいずれにもそのようなものは見られず、すべて問題ありませんでした。上記のプロパティ定義を、 and の代わりに属性を使用するものに置き換えてみましたが、Connect
同じ結果が表示されます。Outlet
GetNativeField
SetNativeField