일부 enum/int 값의 NSImage에 대한 NSValueTransformerClass
-
20-12-2019 - |
문제
변형 가능한 클래스를 사용하여 바인딩하는 방법 NSImageView
~에 NSTableView
.
유형의 플래그가 있습니다. 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
제휴하지 않습니다 StackOverflow