Note that there are some explanatory texts on larger screens.

plurals
  1. PONSFetchRequest could not locate an NSEntityDescription for entity name
    text
    copied!<p>I've tried the proposed solutions for similar questions on SO but with no luck. The fetch request can't locate the entity name 'GarmentType'.</p> <p>Here is my data model: <img src="https://i.stack.imgur.com/vdiwQ.jpg" alt="enter image description here"></p> <p>The error is thrown at the executeFetchRequest in this helper category:</p> <pre><code>// // GarmentType+Create.m // Dressy // // Created by Michael Mangold on 9/4/13. // Copyright (c) 2013 Michael Mangold. All rights reserved. // #import "GarmentType+Create.h" @implementation GarmentType (Create) // Creates or fetches a Core Data GarmentType entity. + (GarmentType *)garmentTypeWithName:(NSString *)name inManagedObjectContext:(NSManagedObjectContext *)context { NSLog(@"name:%@ context:%@",name,context); GarmentType *garmentType = nil; // Build fetch request. NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"GarmentType"]; request.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES]]; request.predicate = [NSPredicate predicateWithFormat:@"name = %@",name]; // Execute fetch requesst. NSError *error = nil; NSArray *matches = [context executeFetchRequest:request error:&amp;error]; // This is where it dies. if (!matches || [matches count] &gt; 1) { NSLog(@"Error creating GarmentType."); } else if ([matches count] == 0) { garmentType = [NSEntityDescription insertNewObjectForEntityForName:@"GarmentType" inManagedObjectContext:context]; garmentType.name = name; } else { garmentType = [matches lastObject]; } return garmentType; } @end </code></pre> <p>The name logs the correct name and the context is non nil.</p> <p>The helper is called from a UITableViewController IBAction when the 'done' button is pressed:</p> <pre><code>- (IBAction)handleDoneButton:(UIBarButtonItem *)sender { // Add garment type to core data. [DressyHelper openDocumentUsingBlock:^(UIManagedDocument *document){ GarmentType *newGarment = [GarmentType garmentTypeWithName:self.garmentTypeNameTextField.text inManagedObjectContext:document.managedObjectContext]; NSLog(@"newGarment.name:%@",newGarment.name); }]; [self dismissViewControllerAnimated:YES completion:nil]; } </code></pre> <p>newGarment.name logs fine.</p> <p>Here is the .h for GarmentType:</p> <pre><code>#import &lt;Foundation/Foundation.h&gt; #import &lt;CoreData/CoreData.h&gt; @class Garment; @interface GarmentType : NSManagedObject @property (nonatomic, retain) NSString * name; @property (nonatomic, retain) NSSet *garments; @end @interface GarmentType (CoreDataGeneratedAccessors) - (void)addGarmentsObject:(Garment *)value; - (void)removeGarmentsObject:(Garment *)value; - (void)addGarments:(NSSet *)values; - (void)removeGarments:(NSSet *)values; @end </code></pre> <p>Apologies for the code dump but I've been struggling with this for a while. Changing the entity name results in the same error, just with the new name as the entity not found.</p> <p>Inspector for GarmentType: <img src="https://i.stack.imgur.com/aXZsu.jpg" alt="enter image description here"></p> <p>And the exception:</p> <pre><code>2013-12-10 13:51:50.320 Dressy[4336:70b] name:asdf context:&lt;NSManagedObjectContext: 0x8ad86f0&gt; 2013-12-10 13:51:50.323 Dressy[4336:70b] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'NSFetchRequest could not locate an NSEntityDescription for entity name 'GarmentType'' *** First throw call stack: ( 0 CoreFoundation 0x017465e4 __exceptionPreprocess + 180 1 libobjc.A.dylib 0x014c98b6 objc_exception_throw + 44 2 CoreData 0x019b4b6e -[NSFetchRequest(_NSInternalMethods) _resolveEntityWithContext:] + 510 3 CoreData 0x019b34d6 -[NSManagedObjectContext executeFetchRequest:error:] + 70 4 Dressy 0x000051de +[GarmentType(Create) garmentTypeWithName:inManagedObjectContext:] + 510 5 Dressy 0x00002170 __54-[GarmentTypeAddTableViewController handleDoneButton:]_block_invoke + 208 6 Dressy 0x00006d51 __39+[DressyHelper openDocumentUsingBlock:]_block_invoke21 + 97 7 UIKit 0x00781f7b __59-[UIDocument saveToURL:forSaveOperation:completionHandler:]_block_invoke570 + 54 8 libdispatch.dylib 0x01e43440 _dispatch_barrier_sync_f_slow_invoke + 71 9 libdispatch.dylib 0x01e544b0 _dispatch_client_callout + 14 10 libdispatch.dylib 0x01e4275e _dispatch_main_queue_callback_4CF + 340 11 CoreFoundation 0x017aba5e __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 14 12 CoreFoundation 0x016ec6bb __CFRunLoopRun + 1963 13 CoreFoundation 0x016ebac3 CFRunLoopRunSpecific + 467 14 CoreFoundation 0x016eb8db CFRunLoopRunInMode + 123 15 GraphicsServices 0x03a4d9e2 GSEventRunModal + 192 16 GraphicsServices 0x03a4d809 GSEventRun + 104 17 UIKit 0x00237d3b UIApplicationMain + 1225 18 Dressy 0x0000585d main + 141 19 libdyld.dylib 0x020e670d start + 1 ) libc++abi.dylib: terminating with uncaught exception of type NSException (lldb) </code></pre> <p>TIA</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload