2016-03-15 2 views
2

У меня есть объект coredata с именем Получатель. Мне нужно сгруппировать Получателей в соответствии с первым символом их имени. Я использую fetechedresults controller. Мне нужно свойство, которое я могу предоставить контроллеру NSFetchedResults, чтобы использовать его в качестве ключа раздела. Это свойство не нужно сохранять в coredata. Поэтому я подумал о создании свойства Transient и предоставил собственную реализацию setter и getter для этого свойства.Как объявить переменную Transient в объекте coredata

Приложение crashing говорит, что такого свойства не найдено в объекте получателя. Пожалуйста помоги.

В Recipient.h У меня есть

@interface Recipient : NSManagedObject 
@property (nonatomic, retain) NSString *name; 
@property (nonatomic, retain) NSString * namesFirstCharacter; 
@end 

В Recipient.m У меня есть

@dynamic name; 
@ dynamic namesFirstCharacter; 

-(NSString *) namesFirstCharacter{ 
//my coide to return first character of name 
} 

ответ

1

Не используйте переходное свойство. Вместо этого просто создайте метод или определите свойство readonly и укажите имя метода или свойства FRC.

+0

не работает :(Я объявил только для чтения свойство для namesFirstCharacter в Recipient.h, а затем написал свой собственный метод получения для этого, предоставляя namesFirstCharacter в разделе ключ к NSFetchedResults контроллера происшествиям говоря «Ключевой путь namesFirstCharacter не найден в сущности получателя» :( –

+0

Я использовал технику несколько раз. Пожалуйста, покажите определение свойства и настройку FRC. – Avi

+0

Привет, Да, вы были правы :), поскольку фактическое объявление переходного свойства, как я показал, не было даже неправильным :) ошибка была не из-за ключа раздела FecthedResultsController, на самом деле я написал описательный дескриптор строки над ним, и этот дескриптор сортировки использовал свойство переходного процесса :) Я снова прочитал документы. «Документы ясно говорят, что мы можем использовать переходные свойства только для ключевого пути раздела и не должен использоваться в дескрипторе сортировки «Как я видел ошибку или я думал, что объявляю это неправильным, но правда в том, что использование в качестве дескриптора сортировки было неправильным :) Thnks fr the help :) Up-vote your ans –

Смежные вопросы