Core Data returns a different object instance for the same NSManagedObject each time I fetch it. Why is this?

core-data, fetch, ios, nsmanagedobject

Solution

If no one retains it, Core Data is free to release it. If you ask for it again, it will probably be at a different memory location. You can't count on it being the same object instance.

Problem

I have recently noticed that if I fetch a ManagedObject of which I can verify that there is only one in the model and which is not retained anywhere in my application, every time the fetch returns the object it is a different instance (with a pointer to a different memory adress). Why is this?

Original source