2016-09-07 78 views
0

我正在使用NSValueTransformer类来将NSDictionary对象转换为自定义对象。NSValueTransformer,如何使用?

我已经实现了与方法的子类:

+ (Class)transformedValueClass 
+ (BOOL)allowsReverseTransformation 
- (id)transformedValue:(id)value 

然后我已经注册了我的子类有:

[NSValueTransformer setValueTransformer:[[ClassNameTransformer alloc] init] forName:ClassNameTransformerName]; 

如何我现在应该从NSDictionary让我的自定义对象。由于我还没有找到任何关于此的信息,所以只能在与CoreData.xib文件中的绑定一起使用时。

我可以使用NSValueTransformer来达到我的目的吗? - >将NSDictionary转换为我的自定义对象。

谢谢!

回答

2

当然你也可以使用NSValueTransformer单机

ClassNameTransformer *transformer = [[ClassNameTransformer alloc] init]; 
MyObject *object = (MyObject *)[transformer transformedValue:dictionary]; 
+0

感谢。我想这应该更多地用于使用CoreData或xib文件进行绑定。现在我想知道是否使用NSDictionary作为参数在MyObject中使用自定义初始化程序更好。 – crom87

+0

是的,主要目的确实是与绑定一起使用。该类实际上不需要调用'transformedValue'方法。 – vadian