-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathNSString+AvoidMTLModelCrash.m
More file actions
72 lines (56 loc) · 1.23 KB
/
NSString+AvoidMTLModelCrash.m
File metadata and controls
72 lines (56 loc) · 1.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#import "NSString+AvoidMTLModelCrash.h"
static NSNumberFormatter *__avoidCrashNumberFormatter = nil;
@implementation NSString (AvoidMTLModelCrash)
+ (void)load
{
__avoidCrashNumberFormatter = [[NSNumberFormatter alloc] init];
}
- (NSNumber *)stringNumber
{
return [__avoidCrashNumberFormatter numberFromString:self];
}
- (char)charValue
{
return [[self stringNumber] charValue];
}
- (unsigned char)unsignedCharValue
{
return [[self stringNumber] unsignedCharValue];
}
- (short)shortValue
{
return [[self stringNumber] shortValue];
}
- (unsigned short)unsignedShortValue
{
return [[self stringNumber] unsignedShortValue];
}
- (unsigned int)unsignedIntValue
{
return [[self stringNumber] unsignedIntValue];
}
- (long)longValue
{
return [[self stringNumber] longValue];
}
- (unsigned long)unsignedLongValue
{
return [[self stringNumber] unsignedLongValue];
}
- (unsigned long long)unsignedLongLongValue
{
return [[self stringNumber] unsignedLongLongValue];
}
- (NSUInteger)unsignedIntegerValue
{
return [[self stringNumber] unsignedIntegerValue];
}
- (NSString *)stringValue
{
return self;
}
- (BOOL)isEqualToNumber:(NSNumber *)number
{
return [[self stringNumber] isEqualToNumber:number];
}
@end