File tree Expand file tree Collapse file tree 3 files changed +42
-3
lines changed Expand file tree Collapse file tree 3 files changed +42
-3
lines changed Original file line number Diff line number Diff line change @@ -159,7 +159,8 @@ - (instancetype)mj_setKeyValues:(id)keyValues context:(NSManagedObjectContext *)
159
159
if (type.typeClass == [NSDecimalNumber class ]) {
160
160
value = [NSDecimalNumber decimalNumberWithString: oldValue];
161
161
} else {
162
- value = @([NSDecimalNumber decimalNumberWithString: oldValue].doubleValue );
162
+ NSDecimalNumber *decimalValue = [NSDecimalNumber decimalNumberWithString: oldValue];
163
+ value = decimalValue == [NSDecimalNumber notANumber ] ? @(0 ) : @(decimalValue.doubleValue );
163
164
}
164
165
165
166
// 如果是BOOL
Original file line number Diff line number Diff line change @@ -38,8 +38,8 @@ - (void)testJSON2Model {
38
38
@" speed" : @" 120.5" ,
39
39
@" identifier" : @" 3443623624362" ,
40
40
@" price" : @" 20.3" ,
41
- // @"gay " : @"NO"
42
- // @"gay " : @"true "
41
+ @" rich " : @" 2 " ,
42
+ @" collect " : @" 40个 "
43
43
};
44
44
45
45
// 2.将字典转为MJUser模型
@@ -56,6 +56,38 @@ - (void)testJSON2Model {
56
56
XCTAssert (user.speed == 120 );
57
57
XCTAssert (user.identifier == 3443623624362 );
58
58
XCTAssert (user.price == 20.3 );
59
+ XCTAssert (user.rich == YES );
60
+ XCTAssert (user.collect == 40 );
61
+ }
62
+
63
+ - (void )testJSON2NumberModel {
64
+ // 1.定义一个字典
65
+ NSDictionary *dict = @{
66
+ @" age" : @" 20" ,
67
+ @" height" : @1.55 ,
68
+ @" money" : @" 100.9" ,
69
+ @" gay" : @" " ,
70
+ @" speed" : @" 120.5" ,
71
+ @" identifier" : @" 3443623624362" ,
72
+ @" price" : @" 20.3" ,
73
+ @" like" : @" 20个" ,
74
+ @" collect" : @" 收藏5" ,
75
+ @" rich" : @" hehe" ,
76
+ };
77
+
78
+ // 2.将字典转为MJUser模型
79
+ MJUser *user = [MJUser mj_objectWithKeyValues: dict];
80
+
81
+ XCTAssert (user.age == 20 );
82
+ XCTAssert (user.height .doubleValue == 1.55 );
83
+ XCTAssert (user.money .doubleValue == 100.9 );
84
+ XCTAssert (user.gay == NO );
85
+ XCTAssert (user.speed == 120 );
86
+ XCTAssert (user.identifier == 3443623624362 );
87
+ XCTAssert (user.price == 20.3 );
88
+ XCTAssert (user.like == 20 );
89
+ XCTAssert (user.collect == 0 );
90
+ XCTAssert (user.rich == NO );
59
91
}
60
92
61
93
#pragma mark JSON字符串 -> 模型
Original file line number Diff line number Diff line change @@ -34,5 +34,11 @@ typedef enum {
34
34
@property (assign , nonatomic ) long long identifier;
35
35
/* * 价格 */
36
36
@property (assign , nonatomic ) double price;
37
+ /* * 赞 */
38
+ @property (assign , nonatomic ) int like;
39
+ /* * 收藏 */
40
+ @property (assign , nonatomic ) int collect;
41
+ /* * 富有 */
42
+ @property (assign , nonatomic ) BOOL rich;
37
43
38
44
@end
You can’t perform that action at this time.
0 commit comments