GRMustache основная категория данных не видна?

У меня есть куча базовых моделей данных "подклассы NSManagedObject" с парой категорий для каждой. Я хочу, чтобы шаблон использовал атрибуты из категории модели, что, как я понимаю, нормально, так как:

[model valueForKey:@"attributeName"];

на самом деле возвращает желаемое значение!

НО, когда я оцениваю это в шаблоне усов, он возвращает пустую строку!!

поэтому этот фрагмент кода возвращает пустую строку:

NSString *template = @"{{# experiences }}{{experienceElement}}{{/ experiences }}";
return [GRMustacheTemplate renderObject:self fromString:template error:nil];

где self - это категория другой модели, которая имеет опыт в качестве атрибута (NSSet), а ExperienceElement - это функция, которая возвращает строку в категории модели опыта.

но это работает, когда я заменяю ExperienceElement реальным атрибутом в модели Experience.

что не так в этой реализации?

примечание: это приложение mac maca, использующее libGRMustache7-MacOS.a

1 ответ

Решение

Начиная с v 7.0.0 в целях безопасности

Было введено новое ограничение доступа к безопасным ключам, чтобы ограничить ключи только свойствами класса.

Решение состоит в том, чтобы объявить свойство только для чтения в категории с именем метода

at category_file.h

@property (nonatomic, readonly) NSString * experienceElement

at category_file.m

-(NSString*) experienceElement
{
    NSString *newValue = @"";//derive new value
    return newValue; 
}
Другие вопросы по тегам