Можно ли добавить NSDate в качестве ключей и некоторые массивы в качестве значений в NSDictionary?
У меня нет никаких требований записывать словарь на диск - архивировать или разархивировать, так же, как это нужно этому парню: NSDictionary с NSDates в качестве ключей
Но, почему я хочу, чтобы NSDate добавлялся в качестве ключей специально, чтобы я мог извлечь все ключи из словаря и выполнить некоторые вычисления, такие как выборка дат изв пределах диапазона.
Имеют ли два объекта с одинаковым значением даты одну и ту же память при создании?
Возможно ли иметь NSDate в качестве ключа?Кроме того, с какими другими проблемами я могу столкнуться с этим предположением?
Спасибо,
Радж
Редактировать: После публикации моего вопроса я просто написалпример кода:
NSDateComponents *dateComps = [[NSDateComponents alloc] init];
[dateComps setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
[dateComps setDay:1];
[dateComps setMonth:1];
[dateComps setYear:2012];
NSDate *date1 = [[NSCalendar currentCalendar] dateFromComponents:dateComps];
NSDate *date2 = [[NSCalendar currentCalendar] dateFromComponents:dateComps];
NSLog(@"Date 1 = %x, Date 2 = %x", date1, date2);
Вывод:
Date 1 = 7945610, Date 2 = bd03610
Но интерпретирует ли ключ NSDictionary эти 2 объекта NSDate как разные?
Другое Редактировать:
Кроме того, если мне нужно преобразовать NSDate в NSString с помощью NSDateFormatter, я не могу напрямую проверять даты в пределах диапазона.Мне нужно будет выполнить следующие шаги:
- Получить весь массив ключей NSString из словаря
- Преобразовать их обратно в массив NSDate
- Выполнить предикаты и получить датыв пределах диапазона
- Снова преобразовать эти даты обратно в массив строк
- Теперь используйте эти строковые ключи для получения значений из словаря!
Итак, есть ли что-нибудь лучшеспособ