Skip to content

Commit

Permalink
Merge branch 'release/0.2.11'
Browse files Browse the repository at this point in the history
  • Loading branch information
matthewcheok committed Aug 28, 2015
2 parents d952c0a + 9f0d90c commit a366392
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 17 deletions.
14 changes: 7 additions & 7 deletions Demo/RealmJSONDemo/MCEpisode.m
Expand Up @@ -13,13 +13,13 @@ @implementation MCEpisode

+ (NSDictionary *)JSONInboundMappingDictionary {
return @{
@"episode.title": @"title",
@"episode.description": @"subtitle",
@"episode.id": @"episodeID",
@"episode.episode_number": @"episodeNumber",
@"episode.episode_type": @"episodeType",
@"episode.thumbnail_url": @"thumbnailURL",
@"episode.published_at": @"publishedDate",
@"title": @"title",
@"description": @"subtitle",
@"id": @"episodeID",
@"episode_number": @"episodeNumber",
@"episode_type": @"episodeType",
@"thumbnail_url": @"thumbnailURL",
@"published_at": @"publishedDate",
};
}

Expand Down
2 changes: 1 addition & 1 deletion Demo/RealmJSONDemo/MCTableViewController.m
Expand Up @@ -29,7 +29,7 @@ @implementation MCTableViewController
- (IBAction)reloadData {
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager GET:@"https://www.nsscreencast.com/api/episodes.json" parameters:nil success: ^(AFHTTPRequestOperation *operation, id responseObject) {
NSArray *array = responseObject;
NSArray *array = responseObject[@"episodes"];
dispatch_async(dispatch_get_main_queue(), ^{
RLMRealm *realm = [RLMRealm defaultRealm];

Expand Down
4 changes: 2 additions & 2 deletions Realm+JSON.podspec
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'Realm+JSON'
s.version = '0.2.10'
s.version = '0.2.11'
s.ios.deployment_target = '7.0'
s.osx.deployment_target = '10.9'
s.license = { :type => 'MIT', :file => 'LICENSE' }
Expand All @@ -16,5 +16,5 @@ Pod::Spec.new do |s|
s.source_files = 'Realm+JSON/*.{h,m}'
s.public_header_files = 'Realm+JSON/*.h'

s.dependency 'Realm', '~> 0.92'
s.dependency 'Realm', '~> 0.95'
end
35 changes: 28 additions & 7 deletions Realm+JSON/RLMObject+Copying.m
Expand Up @@ -27,21 +27,42 @@ - (instancetype)shallowCopy {
}

- (void)mergePropertiesFromObject:(id)object {

BOOL primaryKeyIsEmpty;
id value;
id selfValue;

BOOL (^valuesAreEqual)(id, id) = ^BOOL(id value1, id value2) {
return ([[NSString stringWithFormat:@"%@", value1]
isEqualToString:[NSString stringWithFormat:@"%@", value2]]);
};

for (RLMProperty *property in self.objectSchema.properties) {
// assume array
if (property.type == RLMPropertyTypeArray) {

if (property.type != RLMPropertyTypeArray) {

// asume data
value = [object valueForKeyPath:property.name];
selfValue = [self valueForKeyPath:property.name];

primaryKeyIsEmpty = (property.isPrimary &&
!valuesAreEqual(value, selfValue)
);

if (primaryKeyIsEmpty || !property.isPrimary) {
[self setValue:value forKeyPath:property.name];
}

} else {
// asume array
RLMArray *thisArray = [self valueForKeyPath:property.name];
RLMArray *thatArray = [object valueForKeyPath:property.name];
[thisArray addObjects:thatArray];
}
// assume data
else if (!property.isPrimary) {
id value = [object valueForKeyPath:property.name];
[self setValue:value forKeyPath:property.name];
}
}
}


- (instancetype)deepCopy {
RLMObject *object = [[NSClassFromString(self.objectSchema.className) alloc] init];

Expand Down

0 comments on commit a366392

Please sign in to comment.