【问题标题】:NSValueTransformer, how to use?NSValueTransformer,如何使用?
【发布时间】:2016-09-07 06:02:35
【问题描述】:

我正在使用NSValueTransformer 类将NSDictionary 对象转换为自定义对象。

我已经用方法实现了子类:

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

然后我注册了我的子类:

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

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

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

谢谢!

【问题讨论】:

    标签: ios objective-c nsvaluetransformer


    【解决方案1】:

    当然你可以单独使用NSValueTransformer

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

    【讨论】:

    • 谢谢。我想它应该更多地用于绑定,比如使用 CoreData 或 xib 文件。我现在想知道在 MyObject 中使用 NSDictionary 作为参数的自定义初始化器是否更好。
    • 是的,主要目的确实是与绑定一起使用。仅调用transformedValue 方法实际上不需要该类。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多