我遇到了iOS Xamarin App的问题。
每当我尝试使用Storyboard在我的一个视图中添加tableView时,我启动了我的应用程序,我总是遇到同样的错误。
Foundation.MonoTouchException:抛出Objective-C异常。名称: NSInvalidArgumentException原因: - [TableSource initWithCoder:]: 无法识别的选择器发送到实例0x17d6a620
这是我的TableSource代码:
using Foundation;
using System;
using UIKit;
namespace SmartTransportNatif.iOS2
{
public partial class TableSource : UITableViewSource
{
protected string[] tableItems;
protected string cellIdentifier = "TableCell";
HomeTableController home;
public TableSource (IntPtr handle) : base (handle)
{
}
public TableSource (string[] items, HomeTableController home)
{
this.home = home;
}
public override nint RowsInSection(UITableView tableview, nint section)
{
return tableItems.Length;
}
/// <summary>
/// Called when a row is touched
/// </summary>
public override void RowSelected(UITableView tableView, NSIndexPath indexPath)
{
UIAlertController okAlertController = UIAlertController.Create("Row Selected", tableItems[indexPath.Row], UIAlertControllerStyle.Alert);
okAlertController.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Default, null));
home.PresentViewController(okAlertController, true, null);
tableView.DeselectRow(indexPath, true);
}
/// <summary>
/// Called by the TableView to get the actual UITableViewCell to render for the particular row
/// </summary>
public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath)
{
// request a recycled cell to save memory
UITableViewCell cell = tableView.DequeueReusableCell(cellIdentifier);
// if there are no cells to reuse, create a new one
if (cell == null)
cell = new UITableViewCell(UITableViewCellStyle.Default, cellIdentifier);
cell.TextLabel.Text = tableItems[indexPath.Row];
return cell;
}
}
}
这是我的故事板:
以下是HomeTableController中我的Tableview的属性:
有人知道缺少什么或错了吗?