From 398740103ed2d47dd9c78f01c2e55b9ba8d8f7b6 Mon Sep 17 00:00:00 2001 From: Simone Civetta Date: Mon, 9 Dec 2013 16:51:24 +0100 Subject: [PATCH 1/5] Replaced imports with forward declarations in MTLXMLAdapter.h --- Mantle/MTLXMLAdapter.h | 4 ++-- Mantle/NSValueTransformer+MTLXMLTransformerAdditions.m | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Mantle/MTLXMLAdapter.h b/Mantle/MTLXMLAdapter.h index d3dab134..62dfa90b 100644 --- a/Mantle/MTLXMLAdapter.h +++ b/Mantle/MTLXMLAdapter.h @@ -7,9 +7,9 @@ // #import -#import "DDXML.h" -#import "DDXMLNode.h" +@class DDXMLNode; +@class DDXMLElement; @class MTLModel; @protocol MTLXMLSerializing diff --git a/Mantle/NSValueTransformer+MTLXMLTransformerAdditions.m b/Mantle/NSValueTransformer+MTLXMLTransformerAdditions.m index 614745e9..b189f6a3 100644 --- a/Mantle/NSValueTransformer+MTLXMLTransformerAdditions.m +++ b/Mantle/NSValueTransformer+MTLXMLTransformerAdditions.m @@ -10,13 +10,13 @@ #import "MTLModel.h" #import "MTLValueTransformer.h" #import "MTLXMLAdapter.h" - +#import "DDXML.h" @implementation NSValueTransformer (MTLXMLTransformerAdditions) + (NSDateFormatter *)dateFormatter { - static NSDateFormatter* _dateFormatter; + static NSDateFormatter *_dateFormatter; if (!_dateFormatter) { _dateFormatter = [NSDateFormatter new]; @@ -27,7 +27,7 @@ + (NSDateFormatter *)dateFormatter return _dateFormatter; } -+ (NSValueTransformer *)mtl_XMLTransformerForDateWithFormat:(NSString*)dateFormat { ++ (NSValueTransformer *)mtl_XMLTransformerForDateWithFormat:(NSString *)dateFormat { return [MTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSArray *nodes) { if (nodes == nil || nodes.count == 0) return nil; From 25e38528b926ebdb4077f408825fcffa21c76a69 Mon Sep 17 00:00:00 2001 From: Simone Civetta Date: Mon, 9 Dec 2013 16:52:44 +0100 Subject: [PATCH 2/5] Version bump in pod spec --- MantleXMLAdapter.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MantleXMLAdapter.podspec b/MantleXMLAdapter.podspec index d069dfe0..2ee274b0 100644 --- a/MantleXMLAdapter.podspec +++ b/MantleXMLAdapter.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "MantleXMLAdapter" s.platform = :ios, "5.0" - s.version = "0.2.2" + s.version = "0.2.5" s.summary = "MantleXMLAdapter adds support to Mantle to create MTLModel objects from xml documents and (optionally) from models into xml documents." s.homepage = "https://github.com/mbaranowski/MantleXMLAdapter" s.license = "MIT" From 89339633d0a0b20c2471dd29dbd80f4fbb30a72f Mon Sep 17 00:00:00 2001 From: Simone Civetta Date: Mon, 9 Dec 2013 16:59:06 +0100 Subject: [PATCH 3/5] Updated source version in pod spec --- MantleXMLAdapter.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MantleXMLAdapter.podspec b/MantleXMLAdapter.podspec index 2ee274b0..e2cd01a2 100644 --- a/MantleXMLAdapter.podspec +++ b/MantleXMLAdapter.podspec @@ -6,7 +6,7 @@ Pod::Spec.new do |s| s.homepage = "https://github.com/mbaranowski/MantleXMLAdapter" s.license = "MIT" s.authors = { "Matthew Baranowski" => "matt.baranowski@willowtreeapps.com" } - s.source = { :git => "https://github.com/mbaranowski/MantleXMLAdapter.git", :tag => '0.2.2' } + s.source = { :git => "https://github.com/mbaranowski/MantleXMLAdapter.git", :tag => '0.2.5' } s.source_files = 'Mantle/MTLXMLAdapter.{h,m}', 'Mantle/NSValueTransformer+MTLXMLTransformerAdditions.{h,m}' s.dependency 'KissXML' s.dependency 'Mantle' From 9e914d108dcbcf31364f4997e3be6c28df6235e3 Mon Sep 17 00:00:00 2001 From: Alexis Kinsella Date: Thu, 9 Jan 2014 13:53:12 +0100 Subject: [PATCH 4/5] Makes dateFormatter thread safe --- .gitignore | 1 + ...ueTransformer+MTLXMLTransformerAdditions.m | 19 ++++++++++--------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index f271cb0e..7de6f148 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ profile *.moved-aside # Desktop Servies .DS_Store +.idea diff --git a/Mantle/NSValueTransformer+MTLXMLTransformerAdditions.m b/Mantle/NSValueTransformer+MTLXMLTransformerAdditions.m index b189f6a3..edfb7457 100644 --- a/Mantle/NSValueTransformer+MTLXMLTransformerAdditions.m +++ b/Mantle/NSValueTransformer+MTLXMLTransformerAdditions.m @@ -16,15 +16,16 @@ @implementation NSValueTransformer (MTLXMLTransformerAdditions) + (NSDateFormatter *)dateFormatter { - static NSDateFormatter *_dateFormatter; - if (!_dateFormatter) - { - _dateFormatter = [NSDateFormatter new]; - [_dateFormatter setDateStyle:NSDateFormatterFullStyle]; - [_dateFormatter setTimeStyle:NSDateFormatterFullStyle]; + NSMutableDictionary *dictionary = [[NSThread currentThread] threadDictionary]; + NSDateFormatter *dateFormatter = [dictionary objectForKey:@"MTLDateFormatter"]; + if (!dateFormatter) { + dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; + [dateFormatter setDateStyle:NSDateFormatterFullStyle]; + [dateFormatter setTimeStyle:NSDateFormatterFullStyle]; + [dictionary setObject:dateFormatter forKey:@"MTLDateFormatter"]; } - - return _dateFormatter; + + return dateFormatter; } + (NSValueTransformer *)mtl_XMLTransformerForDateWithFormat:(NSString *)dateFormat { @@ -149,7 +150,7 @@ + (NSValueTransformer *)mtl_XMLArrayTransformerWithModelClass:(Class)modelClass ]; } -+ (NSValueTransformer *)mtl_XMLNonUniformObjectArrayTransformerWithModelClass:(Class)modelClass { ++ (NSValueTransformer *)mtl_XMLNonUniformObjectArrayTransformerWithModelClass:(Class)modelClass { return [MTLValueTransformer reversibleTransformerWithForwardBlock:^ id (NSArray *nodes) { From 75e7d6fbc3c39f6f00591217aca477d7a6d4739b Mon Sep 17 00:00:00 2001 From: Alexis Kinsella Date: Thu, 9 Jan 2014 14:10:49 +0100 Subject: [PATCH 5/5] Makes dateFormatter thread safe --- .../NSValueTransformer+MTLXMLTransformerAdditions.m | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/Mantle/NSValueTransformer+MTLXMLTransformerAdditions.m b/Mantle/NSValueTransformer+MTLXMLTransformerAdditions.m index edfb7457..e4b0506f 100644 --- a/Mantle/NSValueTransformer+MTLXMLTransformerAdditions.m +++ b/Mantle/NSValueTransformer+MTLXMLTransformerAdditions.m @@ -14,15 +14,14 @@ @implementation NSValueTransformer (MTLXMLTransformerAdditions) -+ (NSDateFormatter *)dateFormatter -{ ++ (NSDateFormatter *)dateFormatter { NSMutableDictionary *dictionary = [[NSThread currentThread] threadDictionary]; - NSDateFormatter *dateFormatter = [dictionary objectForKey:@"MTLDateFormatter"]; + NSDateFormatter *dateFormatter = dictionary[@"MTLDateFormatter"]; if (!dateFormatter) { - dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; - [dateFormatter setDateStyle:NSDateFormatterFullStyle]; - [dateFormatter setTimeStyle:NSDateFormatterFullStyle]; - [dictionary setObject:dateFormatter forKey:@"MTLDateFormatter"]; + dateFormatter = [[NSDateFormatter alloc] init]; + dateFormatter.dateStyle = NSDateFormatterFullStyle; + dateFormatter.timeStyle = NSDateFormatterFullStyle; + dictionary[@"MTLDateFormatter"] = dateFormatter; } return dateFormatter;