I've noticed that in my Core Data data model, some entities are (in the top-left panel) have a class of 'NSManagedObject' and some are named after a class (Person, Company etc). There doesn't seem to be any logic in whether the entity has a class of NSManagedObject of Person etc. And my code seems to work ok. So I'm wondering why there is the disparity?
EDIT
Thanks for Benedict Cohen for making things a bit clearer. This is my current code:
Person *per = (Person *)[NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedObjectContext:managedObjectContext];
[per setName:@"Steve Jobs"];
..This works whether a custom class is explicitly mentioned in the Data Model or not. But I would still need the custom class. Am I doing this wrong? I wonder if I can simplify my code. The custom classes were created by selecting the entities and going to 'New File - Managed Object Class'.. but I think links may have broken when I changed them.