用于NSImage的NSValueTransformerClass来自某个enum / int值

时间:2014-07-29 08:10:39

标签: objective-c macos nstableview cocoa-bindings nsvaluetransformer

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

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

1 个答案:

答案 0 :(得分:0)

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