我有一些非常基本的代碼,試圖加載與一些單元格的UICollectionView。我不斷收到這個錯誤,雖然我沒有在我的項目中使用storyboard。必須註冊一個筆尖或類的標識符或連接故事板中的原型單元格'
任何想法?
我有一些非常基本的代碼,試圖加載與一些單元格的UICollectionView。我不斷收到這個錯誤,雖然我沒有在我的項目中使用storyboard。必須註冊一個筆尖或類的標識符或連接故事板中的原型單元格'
任何想法?
可以註冊類或筆尖是這樣的:
[collectionView registerNib:<#(UINib *)#> forCellWithReuseIdentifier:<#(NSString *)#>];
[collectionView registerClass:<#(__unsafe_unretained Class)#> forCellWithReuseIdentifier:<#(NSString *)#>];
確保您使用相同的reuseIdentifier在上面的代碼,在這裏
- (id)dequeueReusableCellWithReuseIdentifier:(NSString *)identifier forIndexPath:(NSIndexPath*)indexPath;
它應該是相同的不爲零的字符串。最好的方法是在某個地方宣佈它。例如這樣
static NSString * reuseIdentifier = @"CellReuseIdentifier";
重要:必須調用此方法之前註冊使用registerClass:forSupplementaryViewOfKind:withReuseIdentifier:
或registerNib:forSupplementaryViewOfKind:withReuseIdentifier:
方法的類或筆尖文件。您還可以使用registerClass:forDecorationViewOfKind:
或registerNib:forDecorationViewOfKind:
方法將一組默認補充視圖與佈局對象一起註冊。
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;
我正在做所有這些,註冊筆尖,類,添加布局,添加委託和數據源。 –
是的,我已經這樣做了,但仍然得到錯誤。這讓我瘋狂。 –
你檢查過重複標識符嗎?看到我更新的答案。 – Avt
是的,我設法解決了這個問題。這是非常愚蠢的,我甚至不會告訴你它是什麼,但非常感謝你的幫助! –