0
我有一個屬性:未存儲對該值的引用時應使用何種@property屬性?
@property(readwrite, ?????) NSDate *selectedDate;
訪問器,像這樣:
NSCalendar _calendar;
NSDateComponents _selectedDateComponents;
@dynamic selectedDate;
- (void)setSelectedDate:(NSDate *)newDate
{
@synchronized(_selectedDateComponents)
{
if (!newDate) return;
[_selectedDateComponents release];
int requiredComponents = NSDayDateComponent | NSMonthDateComponent | NSYearDateComponents;
_selectedDateComponents = [[_calendar components: requiredComponents fromDate:newDate] retain];
}
}
- (NSDate *)selectedDate
{
@synchronized(_selectedDateComponents)
{
if (!_selectedDateComponents) return nil;
return [_calendar dateFromComponents:_selectedDateComponents];
}
}
類不保留對被髮送給設置的對象的引用。 retain
,copy
或assign
都不合適。我喜歡將此功能封裝爲屬性,但可能屬性不合適。
您的觀點是什麼?