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: