OSDN Git Service

射程用ValueTransformer
authormasakih <masakih@users.sourceforge.jp>
Sun, 1 Mar 2015 02:25:10 +0000 (11:25 +0900)
committermasakih <masakih@users.sourceforge.jp>
Sun, 1 Mar 2015 02:25:10 +0000 (11:25 +0900)
KCD/HMLengTransformer.h [new file with mode: 0644]
KCD/HMLengTransformer.m [new file with mode: 0644]

diff --git a/KCD/HMLengTransformer.h b/KCD/HMLengTransformer.h
new file mode 100644 (file)
index 0000000..1c21499
--- /dev/null
@@ -0,0 +1,13 @@
+//
+//  HMLengTransformer.h
+//  KCD
+//
+//  Created by Hori,Masaki on 2015/03/01.
+//  Copyright (c) 2015年 Hori,Masaki. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+@interface HMLengTransformer : NSValueTransformer
+
+@end
diff --git a/KCD/HMLengTransformer.m b/KCD/HMLengTransformer.m
new file mode 100644 (file)
index 0000000..fb27591
--- /dev/null
@@ -0,0 +1,58 @@
+//
+//  HMLengTransformer.m
+//  KCD
+//
+//  Created by Hori,Masaki on 2015/03/01.
+//  Copyright (c) 2015年 Hori,Masaki. All rights reserved.
+//
+
+#import "HMLengTransformer.h"
+
+typedef NS_ENUM(NSInteger, LengType) {
+       kShort = 1,
+       kMiddle = 2,
+       kLong = 3,
+       kOverLong = 4,
+};
+
+@implementation HMLengTransformer
++ (void)load
+{
+       static dispatch_once_t onceToken;
+       dispatch_once(&onceToken, ^{
+               [NSValueTransformer setValueTransformer:[self new] forName:@"HMLengTransformer"];
+       });
+}
++ (Class)transformedValueClass
+{
+       return [NSString class];
+}
++ (BOOL)allowsReverseTransformation
+{
+       return NO;
+}
+
+- (id)transformedValue:(id)value
+{
+       if(![value isKindOfClass:[NSNumber class]]) return nil;
+       
+       NSString *result = nil;
+       LengType leng = [value integerValue];
+       switch (leng) {
+               case kShort:
+                       result = @"短";
+                       break;
+               case kMiddle:
+                       result = @"中";
+                       break;
+               case kLong:
+                       result = @"長";
+                       break;
+               case kOverLong:
+                       result = @"超長";
+                       break;
+       }
+       
+       return result;
+}
+@end