Based on your question, I would create two different entities.
Recipe
,Ingredient
where Recipe
has a to-many relationship with Ingredient
.
So, Recipe
will have some attributes (the attributes you need) and a simple relationship called for example toIngredients
. toIngredients
is a to-many relationships. In other words, a recipe could have zero (or one if you want) ingredients.
In the same way, Ingredient
has some attributes. In addition, it has a to one (inverse) relationship called toRecipe
to its Recipe
. Here you could decide also to have a to-many if your recipes could share ingredients but it strictly depends on what you want to model.
About rules for relationships, toIngredients
has a cascade rule. When you delete a recipe, all its ingredients will deleted too. On the contrary, toRecipe
will be of type nullify.
Here a simple schema of it.

where toIngredients
is set as follows:

and toRecipe
is:

Notice that optional flag for toRecipe
is unchecked. This means an ingredient can exists only if a recipe exists. If you don't follow this rule, Core Data will complain about this.
About the image, it depends on how bigger are the images. Follow Marcus Zarra rules for deciding how to design your model Core Data - Storing Images (iPhone).