您的位置:首页 > 编程语言

FMDB同时支持ARC&MRC 代码

2015-06-03 15:52 337 查看
//添加到头文件中

if ! __has_feature(objc_arc)

#define FMDBAutorelease(__v) ([__v autorelease]);
#define FMDBReturnAutoreleased FMDBAutorelease
#define FMDBRetain(__v) ([__v retain]);
#define FMDBReturnRetained FMDBRetain
#define FMDBRelease(__v) ([__v release]);


define FMDBDispatchQueueRelease(__v) (dispatch_release(__v));

else

// -fobjc-arc
#define FMDBAutorelease(__v)
#define FMDBReturnAutoreleased(__v) (__v)

#define FMDBRetain(__v)
#define FMDBReturnRetained(__v) (__v)

#define FMDBRelease(__v)


if TARGET_OS_IPHONE

// Compiling for iOS

if __IPHONE_OS_VERSION_MIN_REQUIRED >= 60000

// iOS 6.0 or later

define FMDBDispatchQueueRelease(__v)

else

// iOS 5.X or earlier

define FMDBDispatchQueueRelease(__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 FMDBDispatchQueueRelease(__v)

else

// Mac OS X 10.7 or earlier

define FMDBDispatchQueueRelease(__v) (dispatch_release(__v));

endif

endif

endif

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: