В моем приложении я использую пользовательский NIB для загрузки моих UITableViewCells. Владелец файла NIB установлен так, что класс является моим View Controller. Затем я связываю 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, не распространяется на вас .