Cocoa touch &引用;视图参数为“零”;在具有子类UICollectionViewFlowLayout的UICollectionView中插入/删除项时

Cocoa touch &引用;视图参数为“零”;在具有子类UICollectionViewFlowLayout的UICollectionView中插入/删除项时,cocoa-touch,Cocoa Touch,我使用故事板将UICollectionView添加到UIViewController。此UICollectionView使用自定义布局:UICollectionViewFlowLayout的子类 当我现在尝试在我的UICollectionView中插入或删除项目时 // allData is an array and the data source of collectionView [self.allData addObjectsFromArray:dataToAdd]; // collec

我使用故事板将
UICollectionView
添加到
UIViewController
。此
UICollectionView
使用自定义布局:UICollectionViewFlowLayout的子类

当我现在尝试在我的
UICollectionView
中插入或删除项目时

// allData is an array and the data source of collectionView
[self.allData addObjectsFromArray:dataToAdd];

// collectionViewIndexPaths is an array with one or more UIIndexPath objects
[self.collectionView insertItemsAtIndexPaths:collectionViewIndexPaths];
…应用程序崩溃并引发此异常:

*由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因是:“视图参数为零”

我不知道这里的视图参数是什么意思

当我不使用我的
UICollectionViewFlowLayout
子类而是使用流默认布局时,一切正常–项目被插入到集合视图中

因此,此错误的来源应该是显而易见的:
UICollectionViewFlowLayout
子类

@interface MyFlowLayout : UICollectionViewFlowLayout

@end

@implementation MyFlowLayout

- (id)initWithCoder:(NSCoder *)aDecoder {

    self = [super initWithCoder:aDecoder];

    if (self) {

        self.itemSize = CGSizeMake(95, 160);
        self.minimumLineSpacing = 10;
        self.minimumInteritemSpacing = 10;
        self.sectionInset = UIEdgeInsetsMake(10, 8, 10, 0);
        self.headerReferenceSize = CGSizeMake(50, 2);
        self.footerReferenceSize = CGSizeMake(50, 2);
    }

    return self;
}

@end
是的,这就是整个子类。最初我在这里放了很多东西,但在这两种情况下都会出现错误:子类的最小版本和更复杂的版本

正如我上面提到的,我没有得到这个错误的唯一情况是在使用默认流布局(现在是子类)时


这里出了什么问题?

您是否查看了堆栈跟踪以了解异常发生时发生的情况?不幸的是,堆栈跟踪信息不多(因为它很短):它只是向我显示崩溃发生在
InsertItemSatinExpaths: