Ios 尝试重新加载数据时UICollectionView中的断言失败

Ios 尝试重新加载数据时UICollectionView中的断言失败,ios,xcode,ios7,uicollectionview,Ios,Xcode,Ios7,Uicollectionview,我得到一个错误: Assertion failure in -[UICollectionViewData numberOfItemsBeforeSection:],/SourceCache/UIKit_Sim/UIKit-2935.137/UICollectionViewData.m Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'request fo

我得到一个错误:

    Assertion failure in -[UICollectionViewData numberOfItemsBeforeSection:],/SourceCache/UIKit_Sim/UIKit-2935.137/UICollectionViewData.m


    Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'request for number of items before section 2 when there are only 1 sections in the collection view'
当我尝试重新加载collectionview时,它会在添加新节时工作,但当我尝试删除它们时,它会引发异常

更新:

 - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
    return object.count;
}


}

删除行或节之前,必须从数据源数组中删除项。如果您的方法在删除节之前返回
1
,那么在删除节之后,它应该返回
0

,您必须向我们显示数据源委托方法,以便我们可以看到错误所在。将委托添加为更新。但是,当重新加载collectionview时,我认为它将由应用程序ryt处理?重新加载collection view是错误的只是重新加载用户界面。您必须处理好数据源。你要做的是告诉集合视图绘制2个部分,然后她要求数据源提供第2部分的内容,数据源说-嗯,我没有,所以崩溃了。所以我必须在重新加载之前删除部分?从数据源中删除项目。然后重新加载集合视图。
numberOfSectionsInCollectionView
方法在删除节之前应返回
1
,在删除节之后应返回
0
。我所做的是将数据源设置为零,并使用新数据加载它,然后重新加载collectionview。然后检查委托编号ofsectionsincollectionview,则返回1。
 -(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView{
if([sortString isEqualToString:@"title"])
    return [Obj.ordered allKeys].count;
else
    return 1;