Adding conditional NSXMLDocument support for Mac platform
This commit is contained in:
parent
70351a51e1
commit
4c7816e716
2 changed files with 43 additions and 0 deletions
|
|
@ -23,15 +23,32 @@
|
|||
#import <Foundation/Foundation.h>
|
||||
#import "AFHTTPRequestOperation.h"
|
||||
|
||||
#import <Availability.h>
|
||||
|
||||
@interface AFXMLRequestOperation : AFHTTPRequestOperation {
|
||||
@private
|
||||
NSXMLParser *_responseXMLParser;
|
||||
#ifdef __MAC_OS_X_VERSION_MIN_REQUIRED
|
||||
NSXMLDocument *_responseXMLDocument;
|
||||
#endif
|
||||
NSError *_XMLError;
|
||||
}
|
||||
|
||||
@property (readonly, nonatomic, retain) NSXMLParser *responseXMLParser;
|
||||
|
||||
#ifdef __MAC_OS_X_VERSION_MIN_REQUIRED
|
||||
@property (readonly, nonatomic, retain) NSXMLDocument *responseXMLDocument;
|
||||
#endif
|
||||
|
||||
+ (AFXMLRequestOperation *)XMLParserRequestOperationWithRequest:(NSURLRequest *)urlRequest
|
||||
success:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, NSXMLParser *XMLParser))success
|
||||
failure:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error))failure;
|
||||
|
||||
|
||||
#ifdef __MAC_OS_X_VERSION_MIN_REQUIRED
|
||||
+ (AFXMLRequestOperation *)XMLDocumentRequestOperationWithRequest:(NSURLRequest *)urlRequest
|
||||
success:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, NSXMLDocument *document))success
|
||||
failure:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error))failure;
|
||||
#endif
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -26,6 +26,10 @@
|
|||
|
||||
@interface AFXMLRequestOperation ()
|
||||
@property (readwrite, nonatomic, retain) NSXMLParser *responseXMLParser;
|
||||
#ifdef __MAC_OS_X_VERSION_MIN_REQUIRED
|
||||
@property (readwrite, nonatomic, retain) NSXMLDocument *responseXMLDocument;
|
||||
#endif
|
||||
@property (readwrite, nonatomic, retain) NSError *error;
|
||||
|
||||
+ (NSSet *)defaultAcceptableContentTypes;
|
||||
+ (NSSet *)defaultAcceptablePathExtensions;
|
||||
|
|
@ -33,6 +37,10 @@
|
|||
|
||||
@implementation AFXMLRequestOperation
|
||||
@synthesize responseXMLParser = _responseXMLParser;
|
||||
#ifdef __MAC_OS_X_VERSION_MIN_REQUIRED
|
||||
@synthesize responseXMLDocument = _responseXMLDocument;
|
||||
#endif
|
||||
@synthesize error = _XMLError;
|
||||
|
||||
+ (AFXMLRequestOperation *)XMLParserRequestOperationWithRequest:(NSURLRequest *)urlRequest
|
||||
success:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, NSXMLParser *XMLParser))success
|
||||
|
|
@ -84,6 +92,12 @@
|
|||
_responseXMLParser.delegate = nil;
|
||||
[_responseXMLParser release];
|
||||
|
||||
#ifdef __MAC_OS_X_VERSION_MIN_REQUIRED
|
||||
[_responseXMLDocument release];
|
||||
#endif
|
||||
|
||||
[_XMLError release];
|
||||
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
|
|
@ -95,6 +109,18 @@
|
|||
return _responseXMLParser;
|
||||
}
|
||||
|
||||
#ifdef __MAC_OS_X_VERSION_MIN_REQUIRED
|
||||
- (NSXMLDocument *)responseXMLDocument {
|
||||
if (!_responseXMLDocument && [self isFinished]) {
|
||||
NSError *error = nil;
|
||||
self.responseXMLDocument = [[[NSXMLDocument alloc] initWithData:self.responseData options:0 error:&error] autorelease];
|
||||
self.error = error;
|
||||
}
|
||||
|
||||
return _responseXMLDocument;
|
||||
}
|
||||
#endif
|
||||
|
||||
#pragma mark - NSOperation
|
||||
|
||||
- (void)cancel {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue