无法使带有标识符的单元出队,必须为该标识符注册一个笔尖或一个类或在情节提要中连接原型单元

时间:2019-05-14 19:01:02

标签: uitableview xamarin.ios infinite-scroll

我正在尝试向iOS应用程序添加无尽的滚动,但是遇到了麻烦。

我创建了一个加载单元,用于在获取数据时显示微调框,然后像在TableView Source对象中那样分配它:

public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath)
{
    if (indexPath.Row == _comments.Items.Count && !_comments.IsLastPage)
    {
        var loadingCell = tableView.DequeueReusableCell(LoadingIndicatorCell.Key, indexPath) as LoadingIndicatorCell;

        loadingCell.Update(UIColor.Black, true);

        OnLoadNextPage?.Invoke(tableView, null);

        return loadingCell;
    }

    var cell = tableView.DequeueReusableCell(CommentCell.Key, indexPath) as CommentCell;

    cell.Update(_comments.Items.ElementAtOrDefault(indexPath.Row), tableView);

    return cell;
}

当我滚动到底部时,会收到以下消息:

  

Foundation.MonoTouchException:引发Objective-C异常。名称:NSInternalInconsistencyException原因:无法使带有标识符LoadingIndicatorCell的单元出队-必须为该标识符注册一个笔尖或一个类,或者在情节提要中连接原型单元

我正在遵循this示例,因为它是我发现的唯一与我想要达到的目标相匹配的参考书目。

我只是想提供一种方法,一旦用户到达视图的末端然后再加载更多数据,便可以显示微调器,我在Android上发现了它,但iOS给我带来了最大的麻烦。

1 个答案:

答案 0 :(得分:0)

我想我必须注册加载笔尖,并添加此问题。