2016-09-07 40 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