Xamarin.iOSのナビゲーションコントローラでセグを設定しました。最初の画面は、PhoneNumbersのListを持つViewControllerだけで、ボタンをクリックすると電話番号のリストに追加されます。別のボタンをクリックすると、CallHistory2画面に行き、電話番号のリストを表示したいと思います。しかし、Listオブジェクトを2番目の画面に渡すのに問題があります。Xamarin iOS:Downcasting Segue.DestinationViewController Error
これは私がこの行でエラー
var callHistoryContoller = segue.DestinationViewController as CallHistory2;
は 'にタイプ「UIKit.UIViewController」を変換できません取得ViewController.csクラス(最初の画面)
public override void PrepareForSegue (UIStoryboardSegue segue, NSObject sender)
{
base.PrepareForSegue (segue, sender);
// set the View Controller that’s powering the screen we’re
// transitioning to
var callHistoryContoller = segue.DestinationViewController as CallHistory2;
//set the Table View Controller’s list of phone numbers to the
// list of dialed phone numbers
if (callHistoryContoller != null) {
callHistoryContoller.PhoneNumbers = PhoneNumbers;
}
}
方法でありますPortableAppTest.iOS.CallHistory2 '参照変換、ボクシング変換、unboxing変換、ラッピング変換、またはnull型変換PortableAppTest.iOS
CallHistory2
〜UITableViewController
エラーが消えますが、callHistoryController
にはCallHistory2
クラス(実装はUITableViewController
)への参照が含まれず、汎用のUITableViewController
クラスへの参照が含まれます。
この問題を回避するにはどうすればよいですか?どんな助けもありがとう!
私はこれを行うときにこのエラーが発生します。「UIKit.UIViewController」タイプを「PortableAppTest.iOS.CallHistory2」に変換できません。それは潜在的な修正は、(CallHistory2) '冗長キャストを削除していると言いますが、私はこのエラーが表示されたら削除します:"暗黙のうちに 'UIKit.UIViewController'を 'PortableAppTest.iOS.CallHistory2'に変換できません " –
CallHistyory2のタイプ?基本クラスって何? – Darshana
UITableViewController –