Core data doesn't have a built-in way to remove duplicates automatically. The best practical approach is to fetch all objects for that entity. Keep tracks of the identifiers you've already seen and delete any objects with duplicate identifiers as you find them. This way, you avoid nested loops and unnecessary filtering.
If duplicates happen often it's a good idea to add a uniqueness constraint on the identifier property in your data model to prevent duplicates from being saved in the first place.