我在Xamarin.iOS中設置了一個導航控制器的segue。第一個屏幕只是一個ViewController,它具有一個phoneNumbers列表,並在點擊按鈕時添加到電話號碼列表中。當點擊不同的按鈕時,我想要進入CallHistory2屏幕並顯示電話號碼列表。但是,我無法將List對象傳遞給第二個屏幕。Xamarin iOS:Downcasting segue.DestinationViewController錯誤
這是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;
}
}
我在這條線得到一個錯誤
var callHistoryContoller = segue.DestinationViewController as CallHistory2;
無法將類型「UIKit.UIViewController」到' PortableAppTest.iOS.CallHistory2'通過參考轉換,裝箱轉換,拆箱轉換,包裝轉換或空類型轉換PortableAppTest.iOS
當我更改CallHistory2
到UITableViewController
錯誤消失,但callHistoryController
將不包含對我的CallHistory2
類(實現UITableViewController
)的引用,而是對通用的UITableViewController
類引用。
我該如何解決此問題?任何幫助表示讚賞!
當我嘗試這樣做時出現此錯誤:無法將類型'UIKit.UIViewController'轉換爲'PortableAppTest.iOS.CallHistory2'。它說一個潛在的解決方法是刪除多餘的轉換'(CallHistory2)',但當我刪除,我得到這個錯誤:「不能隱式轉換類型'UIKit.UIViewController'到'PortableAppTest.iOS.CallHistory2'」 –
什麼類型的CallHistyory2 ?我的意思是什麼基礎類? – Darshana
UITableViewController –