2016-09-22 16 views
0

我正在使用google地方api提供建議的搜索。所以它搜索每個字符命中的api。我有一個表格源更新。 這裏是GetCell方法在Xamarin ios中創建Ucellsource 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. 

有什麼辦法,我能避免這種異常的異常?

任何建議都會有幫助。

+0

什麼是基類?通常情況下,除非您的基地是由您創建的另一個班級,否則不要調用'base.GetCell'。如果你不是從你自己的類繼承,那麼你應該調用'tableView.DequeueReusableCell'來獲取單元格。 –

回答

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的數據管理和完整的示例我寫的其他的,你應該看看:

​​

您需要分享更多的代碼,或者我們無法幫助你。

相關問題