0
考慮下面的代碼在每次獲取時新創建的NSManagedObject屬性的值?
NSManagedObject *o = ... ;
o.myProperty = [NSDate date];
NSDate *a = o.myProperty;
NSDate *b = o.myProperty;
BOOL identical = (a==b);
BOOL equal = [a isEqual:b];
與iOS在我的iPhone上運行這5套identical = NO
和equal = YES
這是預期的行爲?我會認爲讀取一個屬性總是返回相同的對象,並且每次調用getter時都不會創建一個新對象。
或者這是iOS中的錯誤?
NSLog的%p格式,你會明白爲什麼。 – CodaFi
當然,我知道'a'和'b'指向不同的對象。我只是想知道爲什麼這樣,因爲我正在從管理對象讀取同一個屬性。 – Tom
==比較指針,而不是它們指向的內容。 –