У меня есть тег сущности (в основных данных), который имеет некоторые атрибуты и отношение ко многим, называемое «псевдонимами».
Мой ArrayController в Xcode «bind» для:
Parameters->Managed Object Context = File's Owner.managedObjectContext
Он работает нормально для всех атрибутов, остальные столбцы содержат правильные значения.
В одном столбце я пытаюсь «отобразить» это отношение ко многим.Если я делаю это наивно и связываю Значение моего NSTableColumn с моим ArrayController.arrangedObjects.aliases (как и все другие атрибуты), я получаю это на экране:
Ошибка отношения для (), псевдонимы имени,isOptional 1, isTransient 0, тег объекта, псевдонимы renamingIdentifier, предикаты проверки (), warnings (), versionHashModifier (null), объект назначения TagAlias, тег inverseRelationship, minCount 0, maxCount 0 на 0x10053db10
Itпохоже, что-то вроде CoreData-прокси для отношений ...
Затем я создаю подкласс NSValueTransformer:
@interface tagAliasesToStringTransformer : NSValueTransformer
+ (Class)transformedValueClass;
+ (BOOL)allowsReverseTransformation;
- (id)transformedValue:(id)value;
@end
и пытался использовать его в качестве преобразователя значений в привязке.Но я заблудился в своей реализации:
@implementation tagAliasesToStringTransformer
+ (Class)transformedValueClass {
return [NSString class];
}
+ (BOOL)allowsReverseTransformation {
return NO;
}
- (id)transformedValue:(id)value {
if (value == nil) return nil;
...
}
@end
В методе transformedValue :, значение имеет класс '_NSFaultingMutableSet', и я не знаю, как получить Set / Array псевдонимов или что-нибудь полезное.
Цель состоит в том, чтобы создать строку NSS для объединения каждого псевдонима.Что-то вроде:
aTag: alias1 alias2 alias3 ...