Ich versuche, einige Beispiele für die Erstellung einer benutzerdefinierten UITableViewCell in Xamarin.iOS und alle Beispiele da draußen sagen ziemlich dasselbe und verwenden den gleichen Code, aber ich kann ' t es funktioniert. Unten ist meine GetCell Methode auf meiner benutzerdefinierten UITableViewSource:ObjCRuntime.Runtime.GetNSObject Ungültige Cast-Ausnahme
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;
}
Egal, was ich tue, um das Gespräch mit dem ObjCRuntime.GetNSObject wirft immer null ist (oder, in diesem Fall eine ungültige Guss Ausnahme auslöst, weil ich nicht bin Verwenden Sie das Schlüsselwort as absichtlich, um den Punkt zu illustrieren, weil es nicht in meinen benutzerdefinierten Typ umgewandelt werden kann (was UITableViewCell unterklassifiziert). Es scheint ein Problem zu sein, den Wert von NSObject auf meinen verwalteten Typ zu übertragen.
Hier ist einer der examples I'm trying to follow.
Gibt es eine spezielle Magie, die ich vermisse, um das NSObject auf meinen Typ zu werfen?
Können Sie die Erklärung von 'WorkoutPhaseListViewCell' eingeben? – dalexsoto
Hier ist ein Link zum Thema mit der WorkoutPhaseListViewCell: https://gist.github.com/donniefitz2/ad3eb1a4657844fc097e –