[Issue #557] Replacing AF_DISPATCH_RETAIN_RELEASE macro with OS_OBJECT_USE_OBJC (thanks, @nakiwo)

This commit is contained in:
Mattt Thompson 2012-10-05 09:27:49 -07:00
parent a244a53b66
commit c091bb5ebe
2 changed files with 7 additions and 19 deletions

View file

@ -40,12 +40,6 @@
#import <UIKit/UIKit.h>
#endif
// Workaround for management of dispatch_retain() / dispatch_release() by ARC with iOS 6 / Mac OS X 10.8
#if (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && (!defined(__IPHONE_6_0) || __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_6_0)) || \
(defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && (!defined(__MAC_10_8) || __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_8))
#define AF_DISPATCH_RETAIN_RELEASE 1
#endif
#ifdef _SYSTEMCONFIGURATION_H
NSString * const AFNetworkingReachabilityDidChangeNotification = @"com.alamofire.networking.reachability.change";
NSString * const AFNetworkingReachabilityNotificationStatusItem = @"AFNetworkingReachabilityNotificationStatusItem";
@ -561,7 +555,7 @@ static void AFNetworkReachabilityReleaseCallback(const void *info) {}
completionBlock(operations);
}
});
#ifdef AF_DISPATCH_RETAIN_RELEASE
#ifdef OS_OBJECT_USE_OBJC
dispatch_release(dispatchGroup);
#endif
}];

View file

@ -30,12 +30,6 @@
#define AF_CAST_TO_BLOCK __bridge void *
#endif
// Workaround for management of dispatch_retain() / dispatch_release() by ARC with iOS 6 / Mac OS X 10.8
#if (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && (!defined(__IPHONE_6_0) || __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_6_0)) || \
(defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && (!defined(__MAC_10_8) || __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_8))
#define AF_DISPATCH_RETAIN_RELEASE 1
#endif
NSSet * AFContentTypesFromHTTPHeader(NSString *string) {
if (!string) {
return nil;
@ -117,14 +111,14 @@ static void AFSwizzleClassMethodWithClassAndSelectorUsingBlock(Class klass, SEL
- (void)dealloc {
if (_successCallbackQueue) {
#ifdef AF_DISPATCH_RETAIN_RELEASE
#ifdef OS_OBJECT_USE_OBJC
dispatch_release(_successCallbackQueue);
#endif
_successCallbackQueue = NULL;
}
if (_failureCallbackQueue) {
#ifdef AF_DISPATCH_RETAIN_RELEASE
#ifdef OS_OBJECT_USE_OBJC
dispatch_release(_failureCallbackQueue);
#endif
_failureCallbackQueue = NULL;
@ -207,14 +201,14 @@ static void AFSwizzleClassMethodWithClassAndSelectorUsingBlock(Class klass, SEL
- (void)setSuccessCallbackQueue:(dispatch_queue_t)successCallbackQueue {
if (successCallbackQueue != _successCallbackQueue) {
if (_successCallbackQueue) {
#ifdef AF_DISPATCH_RETAIN_RELEASE
#ifdef OS_OBJECT_USE_OBJC
dispatch_release(_successCallbackQueue);
#endif
_successCallbackQueue = NULL;
}
if (successCallbackQueue) {
#ifdef AF_DISPATCH_RETAIN_RELEASE
#ifdef OS_OBJECT_USE_OBJC
dispatch_retain(successCallbackQueue);
#endif
_successCallbackQueue = successCallbackQueue;
@ -225,14 +219,14 @@ static void AFSwizzleClassMethodWithClassAndSelectorUsingBlock(Class klass, SEL
- (void)setFailureCallbackQueue:(dispatch_queue_t)failureCallbackQueue {
if (failureCallbackQueue != _failureCallbackQueue) {
if (_failureCallbackQueue) {
#ifdef AF_DISPATCH_RETAIN_RELEASE
#ifdef OS_OBJECT_USE_OBJC
dispatch_release(_failureCallbackQueue);
#endif
_failureCallbackQueue = NULL;
}
if (failureCallbackQueue) {
#ifdef AF_DISPATCH_RETAIN_RELEASE
#ifdef OS_OBJECT_USE_OBJC
dispatch_retain(failureCallbackQueue);
#endif
_failureCallbackQueue = failureCallbackQueue;