Skip to content

Commit e796518

Browse files
committed
support NSDecimalNumber
support NSDecimalNumber
1 parent 3223811 commit e796518

File tree

5 files changed

+19
-22
lines changed

5 files changed

+19
-22
lines changed

MJExtension.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = "MJExtension"
3-
s.version = "3.0.7"
3+
s.version = "3.0.8"
44
s.ios.deployment_target = '6.0'
55
s.osx.deployment_target = '10.8'
66
s.summary = "A fast and convenient conversion between JSON and model"

MJExtension/NSObject+MJKeyValue.m

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,8 @@ + (BOOL)mj_isReferenceReplacedKeyWhenCreatingKeyValues
5353
}
5454

5555
#pragma mark - --常用的对象--
56-
static NSNumberFormatter *numberFormatter_;
5756
+ (void)load
5857
{
59-
numberFormatter_ = [[NSNumberFormatter alloc] init];
60-
6158
// 默认设置
6259
[self mj_referenceReplacedKeyWhenCreatingKeyValues:YES];
6360
}
@@ -159,7 +156,7 @@ - (instancetype)mj_setKeyValues:(id)keyValues context:(NSManagedObjectContext *)
159156
NSString *oldValue = value;
160157

161158
// NSString -> NSNumber
162-
value = [numberFormatter_ numberFromString:oldValue];
159+
value = [NSDecimalNumber decimalNumberWithString:oldValue];
163160

164161
// 如果是BOOL
165162
if (type.isBoolType) {

MJExtensionExample/MJExtensionConfig.m

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ + (void)load
2929
};
3030
}];
3131

32-
#pragma mark User类的只有name、icon属性参与字典转模型
33-
// [User mj_setupAllowedPropertyNames:^NSArray *{
32+
#pragma mark MJUser类的只有name、icon属性参与字典转模型
33+
// [MJUser mj_setupAllowedPropertyNames:^NSArray *{
3434
// return @[@"name", @"icon"];
3535
// }];
3636
// 相当于在MJUser.m中实现了+(NSArray *)mj_allowedPropertyNames方法
@@ -59,23 +59,23 @@ + (void)load
5959

6060
#pragma mark MJStudent中的desc属性对应着字典中的desciption
6161
#pragma mark ....
62-
// [MJStudent mj_setupReplacedKeyFromPropertyName:^NSDictionary *{
63-
// return @{
64-
// @"desc" : @"desciption",
65-
// @"oldName" : @"name.oldName",
66-
// @"nowName" : @"name.newName",
67-
// @"otherName" : @[@"otherName", @"name.newName", @"name.oldName"],
68-
// @"nameChangedTime" : @"name.info[1].nameChangedTime",
69-
// @"bag" : @"other.bag"
70-
// };
71-
// }];
62+
[MJStudent mj_setupReplacedKeyFromPropertyName:^NSDictionary *{
63+
return @{
64+
@"desc" : @"desciption",
65+
@"oldName" : @"name.oldName",
66+
@"nowName" : @"name.newName",
67+
@"otherName" : @[@"otherName", @"name.newName", @"name.oldName"],
68+
@"nameChangedTime" : @"name.info[1].nameChangedTime",
69+
@"bag" : @"other.bag"
70+
};
71+
}];
7272
// 相当于在MJStudent.m中实现了+(NSDictionary *)mj_replacedKeyFromPropertyName方法
7373

7474
#pragma mark MJDog的所有驼峰属性转成下划线key去字典中取值
7575
[MJDog mj_setupReplacedKeyFromPropertyName121:^NSString *(NSString *propertyName) {
7676
return [propertyName mj_underlineFromCamel];
7777
}];
78-
// 相当于在Dog.m中实现了+(NSDictionary *)mj_replacedKeyFromPropertyName121:方法
78+
// 相当于在MJDog.m中实现了+(NSDictionary *)mj_replacedKeyFromPropertyName121:方法
7979

8080
#pragma mark MJBook的日期处理、字符串nil值处理
8181
[MJBook mj_setupNewValueFromOldValue:^id(id object, id oldValue, MJProperty *property) {

MJExtensionExample/MJUser.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ typedef enum {
2121
/** 年龄 */
2222
@property (assign, nonatomic) unsigned int age;
2323
/** 身高 */
24-
@property (assign, nonatomic) float height;
24+
@property (strong, nonatomic) NSNumber *height;
2525
/** 财富 */
26-
@property (strong, nonatomic) NSNumber *money;
26+
@property (strong, nonatomic) NSDecimalNumber *money;
2727
/** 性别 */
2828
@property (assign, nonatomic) Sex sex;
2929
/** 同性恋 */

MJExtensionExample/main.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ void keyValues2object()
7777
MJUser *user = [MJUser mj_objectWithKeyValues:dict];
7878

7979
// 3.打印MJUser模型的属性
80-
MJExtensionLog(@"name=%@, icon=%@, age=%zd, height=%f, money=%@, sex=%d, gay=%d", user.name, user.icon, user.age, user.height, user.money, user.sex, user.gay);
80+
MJExtensionLog(@"name=%@, icon=%@, age=%zd, height=%@, money=%@, sex=%d, gay=%d", user.name, user.icon, user.age, user.height, user.money, user.sex, user.gay);
8181
}
8282

8383
/**
@@ -92,7 +92,7 @@ void keyValues2object1()
9292
MJUser *user = [MJUser mj_objectWithKeyValues:jsonString];
9393

9494
// 3.打印MJUser模型的属性
95-
MJExtensionLog(@"name=%@, icon=%@, age=%d, height=%@", user.name, user.icon, user.age, @(user.height));
95+
MJExtensionLog(@"name=%@, icon=%@, age=%d, height=%@", user.name, user.icon, user.age, user.height);
9696
}
9797

9898
/**

0 commit comments

Comments
 (0)