Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 必须为标识符注册nib或类,或连接情节提要中的原型单元_Ios_Objective C_Storyboard_Uicollectionview - Fatal编程技术网

Ios 必须为标识符注册nib或类,或连接情节提要中的原型单元

Ios 必须为标识符注册nib或类,或连接情节提要中的原型单元,ios,objective-c,storyboard,uicollectionview,Ios,Objective C,Storyboard,Uicollectionview,我有一些非常基本的代码,试图用一些单元格加载UICollectionView。尽管我在我的项目中没有使用故事板,但我一直都会遇到这个错误 有什么想法吗 您可以通过以下方式注册类或nib: [collectionView registerNib:<#(UINib *)#> forCellWithReuseIdentifier:<#(NSString *)#>]; [collectionView registerClass:<#(__unsafe_unret

我有一些非常基本的代码,试图用一些单元格加载UICollectionView。尽管我在我的项目中没有使用故事板,但我一直都会遇到这个错误


有什么想法吗

您可以通过以下方式注册类或nib:

   [collectionView registerNib:<#(UINib *)#> forCellWithReuseIdentifier:<#(NSString *)#>];
   [collectionView registerClass:<#(__unsafe_unretained Class)#> forCellWithReuseIdentifier:<#(NSString *)#>];
它应该是相同的而不是零字符串。最好的办法是在某处申报。比如这样

static NSString * reuseIdentifier = @"CellReuseIdentifier";
重要提示:在调用此方法之前,必须使用registerClass:forSupplementaryViewOfKind:withReuseIdentifier:或RegisterInB:forSupplementaryViewOfKind:withReuseIdentifier:方法注册类或nib文件。您还可以使用registerClass:forDecorationViewOfKind:或registerInB:forDecorationViewOfKind:方法向布局对象注册一组默认辅助视图


是的,我已经这样做了,但仍然得到错误。我快疯了,你查过reuseIdentifier了吗?看看我最新的答案。是的,我已经设法解决了这个问题。这是一件非常愚蠢的事情,我甚至不会告诉你它是什么,但非常感谢你的帮助!我正在做所有这些,注册nib、类、添加布局、添加委托和数据源。
static NSString * reuseIdentifier = @"CellReuseIdentifier";
  UICollectionViewFlowLayout *layoutDesign= [[UICollectionViewFlowLayout alloc]init];
    self.yourCollectionView = [[UICollectionView alloc]initWithFrame:self.view.bounds collectionViewLayout:layout];
    [self.view addSubView:self.collectionView];  
     [self.yourCollectionView registerClass:[UICollectionViewCell class]
            forCellWithReuseIdentifier:@"YourCellIdentifier"];
     self.yourCollectionView.delegate=self;
     self.yourCollectionView.dataSource=self;