From d348c15dc56d9cee01e5417435dd236e0e541902 Mon Sep 17 00:00:00 2001 From: Kelvin Sherlock Date: Thu, 3 Jun 2021 23:02:58 -0400 Subject: [PATCH] transformer to enable/disable control based on string length. --- Ample/Transformers.h | 3 +++ Ample/Transformers.m | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/Ample/Transformers.h b/Ample/Transformers.h index fa0ac74..140025f 100644 --- a/Ample/Transformers.h +++ b/Ample/Transformers.h @@ -21,5 +21,8 @@ NS_ASSUME_NONNULL_BEGIN @interface ValidColorTransformer : NSValueTransformer @end +@interface StringNotEmptyTransformer : NSValueTransformer +@end + NS_ASSUME_NONNULL_END diff --git a/Ample/Transformers.m b/Ample/Transformers.m index cc9b317..07edc38 100644 --- a/Ample/Transformers.m +++ b/Ample/Transformers.m @@ -73,6 +73,21 @@ @end +@implementation StringNotEmptyTransformer ++ (BOOL)allowsReverseTransformation { + return NO; +} ++ (Class)transformedValueClass { + return [NSNumber class]; +} + +- (id)transformedValue:(id)value { + NSUInteger length = [(NSString *)value length]; + return [NSNumber numberWithBool: length ? YES : NO]; +} + +@end + void RegisterTransformers(void) { @@ -85,4 +100,8 @@ void RegisterTransformers(void) { t = [ValidColorTransformer new]; [NSValueTransformer setValueTransformer: t forName: @"ValidColorTransformer"]; + + t = [StringNotEmptyTransformer new]; + [NSValueTransformer setValueTransformer: t forName: @"StringNotEmptyTransformer"]; + }