NSValueTransformerコンマ区切りの文字列first, second, thirdを配列に変換する単純なものがあります。したがって、CoreData スキーマには、Transformeroptionsに設定しTransformedて指定する属性があります。
これは私のトランスフォーマーです:
-(id)transformedValue:(id)value{
// convert it to an array
if(!value){
return nil;
} else{
NSString *languages = value;
NSArray *result = [languages componentsSeparatedByString: @", "];
// return result;
return @"test Result";
}
}
変数を返すとresult、次のエラーが表示されます(lengthを期待しているように見えますNSString):
... 'NSInvalidArgumentException', reason: '-[__NSArrayI length]: unrecognized selector sent to instance 0x6cc59a0'
代わりに上記のテスト文字列を返すと、次のエラーが発生します (オブジェクトbytesが必要なようです)。NSData
... 'NSInvalidArgumentException', reason: '-[__NSCFConstantString bytes]: unrecognized selector sent to instance 0xf0780'
私が把握していないように見える概念的な問題があるようです。また、不思議なことに、デバッガーを使用するときに「触れられる」ことはありません+(Class)transformedValueClass。+(BOOL)allowsReverseTransformation