Objective c NSValueTransformerClass,用于从某个枚举/整数值生成NSImage

Objective c NSValueTransformerClass,用于从某个枚举/整数值生成NSImage,objective-c,macos,nstableview,cocoa-bindings,nsvaluetransformer,Objective C,Macos,Nstableview,Cocoa Bindings,Nsvaluetransformer,如何使用可转换类绑定NSTableView中的NSImageView 有一个类型为enum的标志,基于图像需要更改。NSValueTransformer类如下: @implementation MyImageTransformer + (BOOL) allowsReverseTransformation{ return NO; } + (Class) transformedValueClass{ return [NSImage class]; } - (id) transf

如何使用可转换类绑定
NSTableView
中的
NSImageView


有一个类型为
enum
的标志,基于图像需要更改。

NSValueTransformer类如下:

@implementation MyImageTransformer

+ (BOOL) allowsReverseTransformation{
    return NO;
}
+ (Class) transformedValueClass{
    return [NSImage class];
}


- (id) transformedValue:(id)value{

    NSArray *images = @[[NSImage imageNamed:@"failed.png"],
                        [NSImage imageNamed:@"success.png"],
                        [NSImage imageNamed:@"error.png"],
                        [NSImage imageNamed:@"inprogress.png"]
                        ];

    NSInteger integer = [value intValue];

    NSImage * image    = images[integer];
    NSData  * tiffData = [image TIFFRepresentation];

    return tiffData;

}
@end