#ifndef __MJExtensionConst__H__ #define __MJExtensionConst__H__ #import // 过期 #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