代码之家  ›  专栏  ›  技术社区  ›  Anoop Vaidya

NSImage的NSValueTransformerClass来自某个enum/int值

  •  0
  • Anoop Vaidya  · 技术社区  · 12 年前

    如何使用可转换类来绑定 NSImageView 在里面 NSTableView .

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

    1 回复  |  直到 12 年前
        1
  •  0
  •   Anoop Vaidya    12 年前

    这个 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