値 (NSString) を変換する代わりに、属性が変換可能なデータベースに NULL を入れている NSValueTransformer に問題があります。私はリンゴの例を使用していますが、これは他のすべての例と同じであり、単純なレベルで動作させることができません。また、transformedValue と reverseTransformedValue にブレークポイントを設定していますが、ヒットすることはありません。
私のカスタムクラス
+ (void)registerValueTransformer {
[NSValueTransformer setValueTransformer:[[[self alloc] init] autorelease] forName:@"myTransformerTest"];
}
#pragma mark -
#pragma mark NSValueTransformer implementation
+ (BOOL)allowsReverseTransformation {
return YES;
}
+ (Class)transformedValueClass {
return [NSString class];
}
- (id)transformedValue:(id)value {
return @"Test in";
}
- (id)reverseTransformedValue:(id)value {
return @"Test Out";
}
そして、これは私のアプリデリゲートで
+(void) initialize
{
[super initialize];
[transformerTest registerValueTransformer];
}
そしてコア データで、「myTransformerTest」という名前で属性を変換可能にしました。そして、アップルのドキュメントによると、それはそうあるべきです。