Эх сурвалжийг харах

Merge pull request #37 from M9Dev/master

fix bug: - yy_modelIsEqual:
Yaoyuan 9 жил өмнө
parent
commit
4eb7054773

+ 1 - 1
YYModel/NSObject+YYModel.m

@@ -1547,7 +1547,7 @@ static id ModelToJSONObjectRecursive(NSObject *model) {
         id that = [model valueForKey:NSStringFromSelector(propertyMeta->_getter)];
         if (this == that) continue;
         if (this == nil || that == nil) return NO;
-        if ([this isEqual:that]) continue;
+        if (![this isEqual:that]) return NO;
     }
     return YES;
 }

+ 8 - 0
YYModelTests/YYTestCopyingAndCoding.m

@@ -57,6 +57,7 @@ typedef struct my_struct {
 @property (nonatomic, strong) NSNumber *number;
 @property (nonatomic, strong) NSDecimalNumber *decimal;
 @property (nonatomic, strong) NSString *string;
+@property (nonatomic, strong) NSString *string2;
 @property (nonatomic, strong) NSMutableString *mString;
 @property (nonatomic, strong) NSData *data;
 @property (nonatomic, strong) NSMutableData *mData;
@@ -115,6 +116,13 @@ typedef struct my_struct {
     
     model2.myStructValue = my;
     XCTAssertTrue([model1 isEqual:model2]);
+    
+    model1.string = @"Apple";
+    model1.string2 = @"Apple";
+    model2.string = @"Steve Jobs";
+    model2.string2 = @"Steve Jobs";
+    XCTAssertTrue(model1.hash == model2.hash);
+    XCTAssertFalse([model1 isEqual:model2]);
 }
 
 - (void)testCopying {