Konnte nicht gefunden NSManagedObjectModel für Entität

Das ist der code für die fetchRequest in viewDidLoad und der code gefolgt von einem tutorial gefunden hier nur, dass ich verlinkt bin, der navigation-controller und der tableview programmgesteuert anstelle der Verwendung von interface builder. Die Entität ProductInfo vorhanden ist. Jedoch wenn ich das Programm starte bekomme ich die Fehlermeldung:

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '+entityForName: could not locate an NSManagedObjectModel for entity name 'ProductInfo''

Habe ich einen reset der simulator incase es war ein altes Modell, aber der Fehler immer noch Auftritt. Ich habe auch umgestellt auf die Verwendung einer FetchedResultsController aber das problem weiterhin besteht. Ist das problem, weil diese fetchedResultsController Methoden werden nicht in der appdelegate? Sie sind derzeit in einem TableViewController. Wie kann ich dieses problem lösen?

viewDidLoad-Methode:

- (void)viewDidLoad{

NSFetchRequest * fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription * entity = [NSEntityDescription entityForName:@"ProductInfo" inManagedObjectContext:context];
[fetchRequest setEntity:entity];
NSError * error;
self.productInfos = [_context executeFetchRequest:fetchRequest error:&error];
[fetchRequest release];
[super viewDidLoad];}

ProductInfo.h:

@class ProductDetails;

@interface ProductInfo : NSManagedObject {
@private
}
@property (nonatomic, retain) NSString * productName;
@property (nonatomic, retain) NSString * productPrice;
@property (nonatomic, retain) ProductDetails * details;

@end

FetchedResultsController

-(NSFetchedResultsController *)fetchedResultsController {
if (_fetchedResultsController != nil) {
    return _fetchedResultsController;
}

NSFetchRequest  * fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription * entity  = [NSEntityDescription entityForName:@"ProductInfo" inManagedObjectContext:_context]; //line that is causing the problem
[fetchRequest setEntity:entity];

NSSortDescriptor * sort = [[NSSortDescriptor alloc] initWithKey:@"productInfos.productName" ascending:YES];
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:sort]];

[fetchRequest setFetchBatchSize:20];

NSFetchedResultsController * theFetchedResultsController  = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext: _context sectionNameKeyPath:nil cacheName:@"Root"]; 
self.fetchedResultsController = theFetchedResultsController;
_fetchedResultsController.delegate = nil;

[sort release];
[fetchRequest release];
[theFetchedResultsController release];

return _fetchedResultsController;

}

Jede Hilfe sehr geschätzt.Vielen Dank im Voraus.

Im Falle der oben genannten Fragmenten, die ich eingefügt, hat nicht geholfen, befestigte ich das ganze Projekt mit dem Daten-Modell auch von innen.

http://www.mediafire.com/?5cns4q0sv9hqn6s

InformationsquelleAutor Hong Yi | 2011-05-18
Schreibe einen Kommentar