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;
}