| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- //
- // ARCCompile.h
- // CommonLibrary
- //
- // Created by Alexi on 14-2-10.
- // Copyright (c) 2014年 CommonLibrary. All rights reserved.
- //
- #ifndef CommonLibrary_ARCCompile_h
- #define CommonLibrary_ARCCompile_h
- #if ! __has_feature(objc_arc)
- #define CommonAutoRelease(__v) ([__v autorelease])
- #define CommonReturnAutoReleased Autorelease
- #define CommonRetain(__v) ([__v retain])
- #define CommonReturnRetained Retain
- #define CommonRelease(__v) ([__v release])
- #define CommonDispatchQueueRelease(__v) (dispatch_release(__v))
- #define PropertyRetain retain
- // 在括号内声明时使用
- #define CommonDelegateAssign
- // 在property中使用
- #define DelegateAssign assign
- #define CommonSuperDealloc() [super dealloc]
- #else
- // -fobjc-arc
- #define CommonAutoRelease(__v)
- #define CommonReturnAutoReleased(__v) (__v)
- #define CommonRetain(__v)
- #define CommonReturnRetained(__v) (__v)
- #define CommonRelease(__v)
- #define PropertyRetain strong
- #define CommonDelegateAssign __unsafe_unretained
- #define DelegateAssign unsafe_unretained
- #define CommonSuperDealloc()
- #if TARGET_OS_IPHONE
- // Compiling for iOS
- #if __IPHONE_OS_VERSION_MIN_REQUIRED >= 60000
- // iOS 6.0 or later
- #define CommonDispatchQueueRelease(__v)
- #else
- // iOS 5.X or earlier
- #define CommonDispatchQueueRelease(__v) (dispatch_release(__v))
- #endif
- #else
- // Compiling for Mac OS X
- #if MAC_OS_X_VERSION_MIN_REQUIRED >= 1080
- // Mac OS X 10.8 or later
- #define CommonDispatchQueueRelease(__v)
- #else
- // Mac OS X 10.7 or earlier
- #define CommonDispatchQueueRelease(__v) (dispatch_release(__v))
- #endif
- #endif
- #endif
- #endif
|