Key Concepts: Core Data and Relationships
CoreData makes it easy to control relationships between managed objects. Much of this behavior is simply defined in the managed object model, itself.
The most fundamental decision that must be made before creating a relationship is also quite simple: Is it a to-one or a to-many? This can all be provided in the data model.
Implicitly, "to-one" and "to-many" typically refer to "one-to-one" and "one-to-many" relationships respectively.
You define a many-to-many relationship using two to-many relationships. The first to-many relationship goes from the first entity to the second entity. The second to-many relationship goes from the second entity to the first entity.
Xcode also makes it easy to create custom classes for your data model's managed objects through the subclassing of the NSManagedObject class.