我想按照一些例子在Xamarin.iOS中創建一個自定義的UITableViewCell和所有的例子都差不多說了相同的東西,並使用相同的代碼,但我可以'讓它工作。下面是我GetCell方法對我的自定義UITableViewSource:ObjCRuntime.Runtime.GetNSObject無效鑄造異常
public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath)
{
var cell = tableView.DequeueReusableCell(CellIdentifier) as WorkoutPhaseListViewCell;
if (cell == null)
{
cell = new WorkoutPhaseListViewCell();
var views = NSBundle.MainBundle.LoadNib("WorkoutPhaseListView", cell, null);
cell = (WorkoutPhaseListViewCell)ObjCRuntime.Runtime.GetNSObject(views.ValueAt(0));
}
WorkoutPhase item = WorkoutPhases[indexPath.Row];
return cell;
}
不管我做什麼,鑄就ObjCRuntime.GetNSObject的電話永遠是空(或者,在這種情況下拋出一個無效的轉換異常,因爲我不是使用as關鍵字來說明這一點),因爲它不能轉換爲我的自定義類型(它是UITableViewCell的子類)。這似乎是從NSObject的值轉換爲我的託管類型的問題。
這是examples I'm trying to follow之一。
是否有一些特殊的魔法可以將NSObject轉換爲我的類型?
你可以主張'WorkoutPhaseListViewCell'的聲明嗎? – dalexsoto
下面是WorkoutPhaseListViewCell的要點鏈接:https://gist.github.com/donniefitz2/ad3eb1a4657844fc097e –