У меня есть подробный экран какого-либо объекта в моем проекте (это «фото», на самом деле), который может иметь комментарии. Если это так, на экране отображается 3 последних и кнопка «Просмотреть все». Проблема заключалась в том, как отобразить эти 3 комментария. (На Android я просто использую LinearLayout для этого.) TableView не подходит, как я вижу (из-за статической высоты), поэтому я решил создать свой собственный шаблон/частичный вид CommentView и добавить его в scrollView для каждого комментария.Этот класс не является ключевым значением, совместимым с кодировкой для ключа ... снова
Я создал XIB-файл с видом и некоторыми дочерними элементами управления (пользовательская фотография, имя пользователя, дата, текст). Кроме того, я создал класс CommentView, доставленный из UIView. У владельца файла установлено значение CommentView. Класс представления верхнего уровня также установлен в CommentView (я пробовал различные комбинации). Я создал выход из представления верхнего уровня (vContent) и всех дочерних представлений.
Это CommentView.h:
@interface CommentView : UIView
@property (strong, nonatomic) IBOutlet CommentView *vContent;
@property (weak, nonatomic) IBOutlet UIImageView *ivUserPhoto;
@property (weak, nonatomic) IBOutlet UILabel *lUserName;
@property (weak, nonatomic) IBOutlet UILabel *lCreated;
@property (weak, nonatomic) IBOutlet UILabel *lText;
@end
Это CommentView.m:
#import "CommentView.h"
@implementation CommentView
-(void)awakeFromNib {
[[NSBundle mainBundle] loadNibNamed:@"CommentView" owner:self options:nil];
[self addSubview: self.vContent];
}
@end
Затем я попытался добавить комментарии в поле зрения лица и получил эту ошибку с заголовком вопроса. Это не первый раз, когда я получил его, но сейчас я действительно не знаю, в чем проблема ...
Ошибка происходит на этой линии (я называю это из PhotoViewController):
CommentView *commentView = [[[NSBundle mainBundle] loadNibNamed:@"CommentView" owner:self options:nil]objectAtIndex:0];
Полный текст: '[setValue: forUndefinedKey:]: этот класс не является ключевым для кодирования ключа для ключа ivUserPhoto.'
Я очень ценю вашу помощь! Спасибо!
У вас посмотрел МНОГИЕ существующие вопросы, охватывающие это же сообщение об ошибке? – rmaddy
Да. Я много красных, прежде чем опубликовал этот вопрос. Кроме того, у меня эта ошибка много раз, но только на этот раз я не знаю, в чем причина ... –
Причина проста. 'PhotoViewController' не является' CommentView', но где-то (предположительно, ваш nib) вы рассматриваете его как таковой. –