In meiner Anwendung verwende ich eine benutzerdefinierte NIB zum Laden meiner UITableViewCells. Der Dateibesitzer der NIB ist so eingestellt, dass die Klasse mein View Controller ist. Ich verknüpfe dann die UITableViewCell mit dem IBOutlet, das ich in die Header-Datei eingefügt habe. Es funktionierte alles gut, bis es plötzlich nicht mehr funktionierte und dieser Fehler auftrat:
uncaught exception 'NSInvalidUnarchiveOperationException', reason: '*** -[NSKeyedUnarchiver decodeObjectForKey:]: cannot decode object of class (UITableViewCellContentView)'
Ich habe diese Ausnahme zu [NSBundle loadNibNamed:owner:options:] zurückverfolgt.
static NSString *CellIdentifier = @"SubjectCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
[[NSBundle mainBundle] loadNibNamed:@"SubjectCell" owner:self options:NULL];
cell = customSubjectCell;
Ich habe dies auf zwei Geräten und im Simulator versucht, aber alle erhalten den gleichen Fehler. Ich habe heute das neue SDK heruntergeladen, und ich denke, das kann dies verursacht haben.
BITTE BEACHTEN:
Diese Frage ist veraltet, und die nachstehende Lösung war eine vorübergehende Lösung. Apple hat sein SDK korrigiert. Wenn Sie also die neueste Version des SDK haben, ist diese nicht gelten für Sie.