У меня есть UICollectionViewController, который делегирует UICollectionViewDataSource и UICollectionViewDelegate. В моем представлении коллекции отображаются 2 раздела с несколькими строками данных и все работает нормально.
Я создал заголовок раздела (в IB Attributes Inspector -> Accessories), который затем создает подклассы UICollectionReusableView с классом SWOHighScoreHeader:
@interface SWOHighScoreHeader : UICollectionReusableView
@property (strong, nonatomic) IBOutlet UILabel *hiScoreHead;
@end
Я установил этот класс (SWOHighScoreHeader) в качестве пользовательского класса для UICollectionReusableView в IB.
В UICollectionViewController я использую метод:
-(UICollectionReusableView*)collectionView:(UICollectionView*)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath{
SWOHighScoreHeader *highScoreHeaderView = nil;
if ([kind isEqual:UICollectionElementKindSectionHeader]) {
highScoreHeaderView = [collectionView dequeueReusableSupplementaryViewOfKind:kind
withReuseIdentifier:@"highScoreTableHead"
forIndexPath:indexPath];
}
return highScoreHeaderView;
}
Идентификатор highScoreTableHead задается как идентификатор многократно используемого представления коллекции UICollectionReusableView в IB.
На этом этапе заголовки разделов отображаются правильно, хотя и с текстом метки по умолчанию.
Моя проблема возникает, когда я связываю свойство IBOutlet UILabel hiScoreHead с выходом в IB. Когда я это делаю, программа вылетает с:
Неизвестный класс SWOHighScoreHeader в файле построителя интерфейсов.
** * Завершение работы приложения из-за необработанного исключения "NSUnknownKeyException", причина: "[setValue:forUndefinedKey:]: этот класс не соответствует кодированию значения ключа для ключа submitButton".
Я попытался удалить подключение к розетке и снова подключиться, но все равно ничего. Есть идеи, где я ошибаюсь?