diff --git a/BindableTypes/BindableTypes/BTBaseNumber.m b/BindableTypes/BindableTypes/BTBaseNumber.m index 708ccdc..09a3795 100644 --- a/BindableTypes/BindableTypes/BTBaseNumber.m +++ b/BindableTypes/BindableTypes/BTBaseNumber.m @@ -33,8 +33,9 @@ - (NSString *)toSql { return [self.boundedNumber performSelector:@selector(toSql)]; } + (id)fromSql:(NSString *)sqlData { - return [NSDecimalNumber performSelector:@selector(fromSql:) - withObject:sqlData]; + NSNumber *number = [NSDecimalNumber performSelector:@selector(fromSql:) + withObject:sqlData]; + return [[[BTBaseNumber alloc] initWithNumber:number] autorelease]; } @synthesize boundedNumber; diff --git a/BindableTypes/BindableTypes/BTBaseString.m b/BindableTypes/BindableTypes/BTBaseString.m index 85befb8..18596ef 100644 --- a/BindableTypes/BindableTypes/BTBaseString.m +++ b/BindableTypes/BindableTypes/BTBaseString.m @@ -8,29 +8,8 @@ #import "BTBaseString.h" -@interface BTBaseString () -+ (const char *)sqlType; -- (NSString *)toSql; -+ (id)fromSql:(NSString *)sqlData; -@end - @implementation BTBaseString -/* - ActiveRecord Support - https://github.com/AlexDenisov/iActiveRecord - */ - -+ (const char *)sqlType { - return (const char *)[NSString performSelector:@selector(sqlType)]; -} -- (NSString *)toSql { - return [self.boundedString performSelector:@selector(toSql)]; -} -+ (id)fromSql:(NSString *)sqlData { - return [NSString performSelector:@selector(fromSql:) withObject:sqlData]; -} - @synthesize boundedString; @synthesize boundedLabel; @synthesize delegate; diff --git a/BindableTypes/BindableTypes/BTString.m b/BindableTypes/BindableTypes/BTString.m index de325e4..25fe9b4 100644 --- a/BindableTypes/BindableTypes/BTString.m +++ b/BindableTypes/BindableTypes/BTString.m @@ -11,13 +11,30 @@ #import "BTTextFieldString.h" #import "BTTextViewString.h" +@interface BTString () ++ (const char *)sqlType; +- (NSString *)toSql; ++ (id)fromSql:(NSString *)sqlData; +@end + @implementation BTString +/* + ActiveRecord Support + https://github.com/AlexDenisov/iActiveRecord + */ + + (const char *)sqlType { - return (const char *)[BTBaseString performSelector:@selector(sqlType)]; + return (const char *)[NSString performSelector:@selector(sqlType)]; } +- (NSString *)toSql { + return [[self stringValue] performSelector:@selector(toSql)]; +} + + (id)fromSql:(NSString *)sqlData { - NSString *string = [BTBaseString performSelector:@selector(fromSql:) withObject:sqlData]; + NSLog(@"%@", sqlData); + NSString *string = [NSString performSelector:@selector(fromSql:) withObject:sqlData]; + NSLog(@"%@", string); return [[[BTBaseString alloc] initWithString:string] autorelease]; }