新版本
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
|
||||
#ifndef __MJExtensionConst__H__
|
||||
#define __MJExtensionConst__H__
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
// 过期
|
||||
#define MJExtensionDeprecated(instead) NS_DEPRECATED(2_0, 2_0, 2_0, 2_0, instead)
|
||||
|
||||
// 构建错误
|
||||
#define MJExtensionBuildError(clazz, msg) \
|
||||
NSError *error = [NSError errorWithDomain:msg code:250 userInfo:nil]; \
|
||||
[clazz setMj_error:error];
|
||||
|
||||
// 日志输出
|
||||
#ifdef DEBUG
|
||||
#define MJExtensionLog(...) NSLog(__VA_ARGS__)
|
||||
#else
|
||||
#define MJExtensionLog(...)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* 断言
|
||||
* @param condition 条件
|
||||
* @param returnValue 返回值
|
||||
*/
|
||||
#define MJExtensionAssertError(condition, returnValue, clazz, msg) \
|
||||
[clazz setMj_error:nil]; \
|
||||
if ((condition) == NO) { \
|
||||
MJExtensionBuildError(clazz, msg); \
|
||||
return returnValue;\
|
||||
}
|
||||
|
||||
#define MJExtensionAssert2(condition, returnValue) \
|
||||
if ((condition) == NO) return returnValue;
|
||||
|
||||
/**
|
||||
* 断言
|
||||
* @param condition 条件
|
||||
*/
|
||||
#define MJExtensionAssert(condition) MJExtensionAssert2(condition, )
|
||||
|
||||
/**
|
||||
* 断言
|
||||
* @param param 参数
|
||||
* @param returnValue 返回值
|
||||
*/
|
||||
#define MJExtensionAssertParamNotNil2(param, returnValue) \
|
||||
MJExtensionAssert2((param) != nil, returnValue)
|
||||
|
||||
/**
|
||||
* 断言
|
||||
* @param param 参数
|
||||
*/
|
||||
#define MJExtensionAssertParamNotNil(param) MJExtensionAssertParamNotNil2(param, )
|
||||
|
||||
/**
|
||||
* 打印所有的属性
|
||||
*/
|
||||
#define MJLogAllIvars \
|
||||
-(NSString *)description \
|
||||
{ \
|
||||
return [self mj_keyValues].description; \
|
||||
}
|
||||
#define MJExtensionLogAllProperties MJLogAllIvars
|
||||
|
||||
/**
|
||||
* 类型(属性类型)
|
||||
*/
|
||||
extern NSString *const MJPropertyTypeInt;
|
||||
extern NSString *const MJPropertyTypeShort;
|
||||
extern NSString *const MJPropertyTypeFloat;
|
||||
extern NSString *const MJPropertyTypeDouble;
|
||||
extern NSString *const MJPropertyTypeLong;
|
||||
extern NSString *const MJPropertyTypeLongLong;
|
||||
extern NSString *const MJPropertyTypeChar;
|
||||
extern NSString *const MJPropertyTypeBOOL1;
|
||||
extern NSString *const MJPropertyTypeBOOL2;
|
||||
extern NSString *const MJPropertyTypePointer;
|
||||
|
||||
extern NSString *const MJPropertyTypeIvar;
|
||||
extern NSString *const MJPropertyTypeMethod;
|
||||
extern NSString *const MJPropertyTypeBlock;
|
||||
extern NSString *const MJPropertyTypeClass;
|
||||
extern NSString *const MJPropertyTypeSEL;
|
||||
extern NSString *const MJPropertyTypeId;
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user