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 *)
159159 if (type.typeClass == [NSDecimalNumber class ]) {
160160 value = [NSDecimalNumber decimalNumberWithString: oldValue];
161161 } else {
162- value = @([NSDecimalNumber decimalNumberWithString: oldValue].doubleValue );
162+ NSDecimalNumber *decimalValue = [NSDecimalNumber decimalNumberWithString: oldValue];
163+ value = decimalValue == [NSDecimalNumber notANumber ] ? @(0 ) : @(decimalValue.doubleValue );
163164 }
164165
165166 // 如果是BOOL
Original file line number Diff line number Diff line change @@ -38,8 +38,8 @@ - (void)testJSON2Model {
3838 @" speed" : @" 120.5" ,
3939 @" identifier" : @" 3443623624362" ,
4040 @" price" : @" 20.3" ,
41- // @"gay " : @"NO"
42- // @"gay " : @"true "
41+ @" rich " : @" 2 " ,
42+ @" collect " : @" 40个 "
4343 };
4444
4545 // 2.将字典转为MJUser模型
@@ -56,6 +56,38 @@ - (void)testJSON2Model {
5656 XCTAssert (user.speed == 120 );
5757 XCTAssert (user.identifier == 3443623624362 );
5858 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 );
5991}
6092
6193#pragma mark JSON字符串 -> 模型
Original file line number Diff line number Diff line change @@ -34,5 +34,11 @@ typedef enum {
3434@property (assign , nonatomic ) long long identifier;
3535/* * 价格 */
3636@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;
3743
3844@end
You can’t perform that action at this time.
0 commit comments