Я несколько часов пытался достичь того, что казалось простым делом.
У меня есть объект A с атрибутом NSDate.
Моя цель - создать UITableView, которыйперечисляет каждый объект A, группируя их в секции, определенные MM / YYYY их атрибута NSDate.
Я нашел этот официальный пример Apple: http://developer.apple.com/library/ios/#samplecode/DateSectionTitles/Introduction/Intro.html
Итак:
- Я создал новый необязательный атрибут Transient «sectionTitleMonth» для своей сущности A
- Я определил новые динамические свойства (primitiveDate и primitiveSectionTitleMonth) и реализовал их установщики и keyPathsForValuesAffectingSectionTitleMonth, как в официальном примере.
- он строил NSFetchedResultsController точно так же, как в примере.Теперь он использует мой переходный атрибут в качестве sectionNameKeyPath
- , он определяет методы, относящиеся к разделу, как в официальном примере
2 балла заставляют меня задуматься, хорошо ли это решение:
1) Я использую переходные атрибуты в качестве sectionNameKeyPath с серверной частью SQL Lite.Это нормально ?Я где-то читал, что временные атрибуты + SQLLite не были хорошими друзьями, но не могу вспомнить, в каких случаях
2) Я определяю свойства (primitiveDate и primitiveSectionTitleMonth) в моей категории класса A + nonGenerated.Это нормально ?Потому что, как указано в официальном документе, «вы не можете использовать категорию для добавления дополнительных переменных экземпляра в класс».Но здесь свойства являются динамическими, и я предполагаю, что данные ядра генерируют связанные переменные экземпляра, когда он генерирует A, поэтому он должен работать нормально ... но у меня все еще есть небольшие сомнения:)
Кажется, все работает нормально, но... это хорошее решение?Я имею в виду, есть ли какой-нибудь более простой / лучший способ достижения моей цели?
Пожалуйста, успокойте меня или дайте мне лучшее решение: о)