Consider the following code
NSManagedObject *o = ... ;
o.myProperty = [NSDate date];
NSDate *a = o.myProperty;
NSDate *b = o.myProperty;
BOOL identical = (a==b);
BOOL equal = [a isEqual:b];
running this on my iPhone with iOS 5 sets identical = NO
and equal = YES
Is this expected behavior? I would have thought that reading a property returns always the same object and doesn't create a new one everytime the getter is called.
Or is this a bug in iOS?