在xamarin ios中使用Uitablesource getcell方法创建单元格时出现异常

时间:2016-09-22 20:31:36

标签: c# ios xamarin xamarin.ios mvvmcross

我正在使用google places api来提供建议的搜索。因此它会搜索每个角色的api。我有一个更新的表源。 这是GetCell方法

public override UITableViewCell GetCell(UITableView tableView,NSIndexPathindexPath)
{
  var cell = base.GetCell(tableView, indexPath) as CityCell;
  cell.SubscriteToCheckEvent(() =>
{
    var ddd = cell as CityCell;
    viewModel.ZipCode = cell.CityNameText.Text;
    viewModel.SearchStoresCommand.Execute(true);
 });
   return cell;

 }

当我尝试将值更新为快速

时,我收到异常
Index was out of range. Must be non-negative and less than the size of the collection.

有什么方法可以避免这种异常吗?

任何建议都会有所帮助。

1 个答案:

答案 0 :(得分:0)

你调用" GetCell"的方式方法不正确。

这是GetCell的示例:

public override UITableViewCell GetCell (UITableView tableView, Foundation.NSIndexPath indexPath)
        {
            MyTableCell cell = tableView.DequeueReusableCell (CellID) as MyTableCell;
            if (null == cell) {
                //Init custom cell
                cell = new MyTableCell (UITableViewCellStyle.Default, CellID);
                //Bind delete event
                cell.CellClicked += delegate {
                    //Do something for click event
                };
            }
            return cell;
        }

这是我为其他人写的关于UITableView数据管理的完整示例,你应该看看:

UITableViewDataManagementSample

您需要分享更多代码,否则我们无法帮助您。