В моем приложении я использую пользовательский NIB для загрузки UITableViewCells. Владелец файла NIB установлен таким образом, чтобы класс был моим контроллером просмотра. Затем я свяжу UITableViewCell с IBOutlet, который я ввел в файл заголовка. Все работало нормально, пока все это не прекратило работать и получило эту ошибку:
uncaught exception 'NSInvalidUnarchiveOperationException', reason: '*** -[NSKeyedUnarchiver decodeObjectForKey:]: cannot decode object of class (UITableViewCellContentView)'
Я выделил это исключение для [NSBundle loadNibNamed: owner: options:]
static NSString *CellIdentifier = @"SubjectCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
[[NSBundle mainBundle] loadNibNamed:@"SubjectCell" owner:self options:NULL];
cell = customSubjectCell;
Я пробовал это на двух устройствах и симуляторе, но все они получают ту же ошибку. Сегодня я загрузил новый SDK, и я думаю, что это могло вызвать это.
ОБРАТИТЕ ВНИМАНИЕ:
Этот вопрос устарел, и исправление ниже было временным исправлением. Apple установила свой SDK, поэтому, если у вас установлена самая новая версия SDK, это не относится к вам.