考虑以下代码
NSManagedObject *o = ... ;
o.myProperty = [NSDate date];
NSDate *a = o.myProperty;
NSDate *b = o.myProperty;
BOOL identical = (a==b);
BOOL equal = [a isEqual:b];
在装有 iOS 5 的 iPhone 上运行它,identical = NO
并且equal = YES
这是预期的行为吗?我会认为读取属性总是返回相同的对象,并且不会在每次调用 getter 时创建一个新对象。
或者这是iOS中的错误?