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