Creating a New Core Data Object If It Does Not Exist, or Obtaining an Existing Object if it Does Exist with Core Data
Querying Core Data for Specific Attributes when Creating New Objects and returning the object if it exists, or creating a new one if it does not