2014-10-17 4 views
0

У меня есть подкласс UICollectionViewCell, который отображает только подтекст UIView с цветом фона прямо сейчас, чтобы показать, что он есть.UICollectionViewCell вызывает сбои при загрузке из XIB

Для того, чтобы загрузить из XIB, я должен заменить это:

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    [self.localPlayerItemsView registerClass:[MBTradeCollectionViewCell class] 
        forCellWithReuseIdentifier:CellIdentifier]; 
} 

с этим:

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    UINib *nib = [UINib nibWithNibName:@"MBTradeCollectionViewCell" bundle:nil]; 

    [self.localPlayerItemsView registerNib:nib forCellWithReuseIdentifier:CellIdentifier]; 
} 

После выполнения этого, я тогда получить аварии на первой линии в collectionView:cellForItemAtIndexPath: :

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { 
    MBTradeCollectionViewCell *aCell = [collectionView dequeueReusableCellWithReuseIdentifier:CellIdentifier 
                       forIndexPath:indexPath]; 

    return aCell; 
} 

Вот авария:

*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<NSObject 0x7d461780> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key itemCountView.' 

Это не вызывает этот сбой при использовании registerClass:forCellWithReuseIdentifier:, но тогда он не загружает мой xib.

+0

Проверьте свои пользовательские подключения к розетке для элемента itemCountView. – BhushanVU

+0

Похоже, что IBOutlet неправильно подключен. Проверьте все соединения в наконечнике. – Rayfleck

+0

Возможный дубликат [Что это значит? «NSUnknownKeyException», причина: ... Этот класс не является ключевым значением, совместимым с кодировкой для ключа X »] (http://stackoverflow.com/questions/3088059/what-does-this-mean-nsunknownkeyexception-reason- этот класс-это-не-ключ) –

ответ

3

Эта авария обычно возникает, когда у вас сломанная розетка. Проверьте файл nib для розетки с именем itemCountView, который будет сломан (неправильно подключен). Который появится с красной меткой.

3

В вашем файле MBTradeCollectionViewCell xib ничего не менять с владельцем файла. Измените класс top most view на MBTradeCollectionViewCell и выберите itemCountView, подключите его к top most view. Надеюсь, это решит проблему.

1

Я исправил его.

Я пошел в режим помощника и перетащил его из объекта в IB, и он предложил мне опцию «владелец файла» или «торговый сбор»?

Я выбрал нижний, что означает, что эти вещи не были подключены к владельцу файла, но оказывается, что они также видны в торговом представлении, и они подключены там.

И это работает.

Смежные вопросы