blob: e1a14a55bc0f11126221f98dd9efb77ad1de9e0a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#import "NSPortNumberTransformer.h"
@implementation NSPortNumberTransformer
+(Class)transformedValueClass { return [NSNumber class]; }
+(BOOL)allowsReverseTransformation { return YES; }
-(id)transformedValue:(id)value {
if(value==nil) return nil;
if(![value respondsToSelector:@selector(integerValue)]) return nil;
NSInteger rv = [value integerValue];
if(rv<1 || rv>32767) return nil;
return [NSString stringWithFormat:@"%u",rv];
}
-(id)reverseTransformedValue:(id)value {
if(value==nil) return nil;
if(![value respondsToSelector:@selector(integerValue)]) return nil;
NSInteger rv = [value integerValue];
if(rv<1 || rv>32767) return nil;
return [NSNumber numberWithInteger:rv];
}
@end
|