#define NavigationBar_HEIGHT 44 #define SCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width) #define SCREEN_HEIGHT ([UIScreen mainScreen].bounds.size.height) #define SAFE_RELEASE(x) [x release];x=nil #define IOS_VERSION [[[UIDevice currentDevice] systemVersion] floatValue] #define CurrentSystemVersion ([[UIDevice currentDevice] systemVersion]) #define CurrentLanguage ([[NSLocale preferredLanguages] objectAtIndex:0]) #define BACKGROUND_COLOR [UIColor colorWithRed:242.0/255.0 green:236.0/255.0 blue:231.0/255.0 alpha:1.0] //use dlog to print while in debug model #ifdef DEBUG # define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__); #else # define DLog(...) #endif #define isRetina ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 960), [[UIScreen mainScreen] currentMode].size) : NO) #define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO) #define isPad (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) #if TARGET_OS_IPHONE //iPhone Device #endif #if TARGET_IPHONE_SIMULATOR //iPhone Simulator #endif //ARC #if __has_feature(objc_arc) //compiling with ARC #else // compiling without ARC #endif //G-C-D #define BACK(block) dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), block) #define MAIN(block) dispatch_async(dispatch_get_main_queue(),block) #define USER_DEFAULT [NSUserDefaults standardUserDefaults] #define ImageNamed(_pointer) [UIImage imageNamed:[UIUtil imageName:_pointer]] #pragma mark - common functions #define RELEASE_SAFELY(__POINTER) { [__POINTER release]; __POINTER = nil; } #pragma mark - degrees/radian functions #define degreesToRadian(x) (M_PI * (x) / 180.0) #define radianToDegrees(radian) (radian*180.0)/(M_PI) #pragma mark - color functions #define RGBCOLOR(r,g,b) [UIColor colorWithRed:(r)/255.0f green:(g)/255.0f blue:(b)/255.0f alpha:1] #define RGBACOLOR(r,g,b,a) [UIColor colorWithRed:(r)/255.0f green:(g)/255.0f blue:(b)/255.0f alpha:(a)] #define ITTDEBUG #define ITTLOGLEVEL_INFO 10 #define ITTLOGLEVEL_WARNING 3 #define ITTLOGLEVEL_ERROR 1 #ifndef ITTMAXLOGLEVEL #ifdef DEBUG #define ITTMAXLOGLEVEL ITTLOGLEVEL_INFO #else #define ITTMAXLOGLEVEL ITTLOGLEVEL_ERROR #endif #endif // The general purpose logger. This ignores logging levels. #ifdef ITTDEBUG #define ITTDPRINT(xx, ...) NSLog(@"%s(%d): " xx, __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__) #else #define ITTDPRINT(xx, ...) ((void)0) #endif // Prints the current method's name. #define ITTDPRINTMETHODNAME() ITTDPRINT(@"%s", __PRETTY_FUNCTION__) // Log-level based logging macros. #if ITTLOGLEVEL_ERROR <= ITTMAXLOGLEVEL #define ITTDERROR(xx, ...) ITTDPRINT(xx, ##__VA_ARGS__) #else #define ITTDERROR(xx, ...) ((void)0) #endif #if ITTLOGLEVEL_WARNING <= ITTMAXLOGLEVEL #define ITTDWARNING(xx, ...) ITTDPRINT(xx, ##__VA_ARGS__) #else #define ITTDWARNING(xx, ...) ((void)0) #endif #if ITTLOGLEVEL_INFO <= ITTMAXLOGLEVEL #define ITTDINFO(xx, ...) ITTDPRINT(xx, ##__VA_ARGS__) #else #define ITTDINFO(xx, ...) ((void)0) #endif #ifdef ITTDEBUG #define ITTDCONDITIONLOG(condition, xx, ...) { if ((condition)) { \ ITTDPRINT(xx, ##__VA_ARGS__); \ } \ } ((void)0) #else #define ITTDCONDITIONLOG(condition, xx, ...) ((void)0) #endif #define ITTAssert(condition, ...) \ do { \ if (!(condition)) { \ [[NSAssertionHandler currentHandler] \ handleFailureInFunction:[NSString stringWithUTF8String:__PRETTY_FUNCTION__] \ file:[NSString stringWithUTF8String:__FILE__] \ lineNumber:__LINE__ \ description:__VA_ARGS__]; \ } \ } while(0)
相关推荐
iOS开发常用宏定义 提高代码重用性
在iOS开发中,宏定义(Macros)是一种常用的编程技巧,它可以提高代码的可读性和复用性。本文将对iOS开发中常见的宏定义进行总结,帮助开发者更好地理解和使用它们。 1. 字符串是否为空 `kStringIsEmpty(str)` 这个...
定义了一些常用的宏,写代码的时候用起来挺方便的,添加了pch文件,设置了相对路径;设置pch文件相对路径的方法: 设置PCH的相对路径 要想设置PCH的相对路径,首先我们需要去查看绝对路径。 相对路径 点击PCH...
在iOS开发中,框架(Framework)是至关重要的组成部分,它包含了一组相关的库、资源以及接口定义,方便开发者快速构建应用程序。"iOS常用宏定义framework" 提供了一系列预定义的宏和常用类别方法,旨在提高开发效率...
以下是一些iOS开发中常用宏定义的知识点: 1. **预处理器宏**:在Objective-C中,`#define`关键字用于创建预处理器宏。它们在编译时被替换为指定的文本,可以用来定义常量、简写复杂表达式或实现条件编译。 2. **...
iOS 开发常用的宏定义大全
以下是一些iOS开发中的高效常用宏及其详细说明: 1. **Prefix.pch文件**: 在iOS项目中,`Prefix.pch`文件是预编译头文件,它包含的宏定义会在每个源文件被编译之前先被引入。这样可以确保全局使用的宏定义、类别...
这个压缩包“iOS开发工具类汇总”显然提供了一组实用的宏定义,旨在简化iOS应用程序的开发过程,提高开发效率。其中包含的“CoreEditText-master”可能是一个专门针对文本编辑的工具库。 `CoreEditText-master`很...
在iOS开发中,宏的常见用途包括: 1. **常量定义**:定义全局常量,避免硬编码值,如`#define kScreenWidth [UIScreen mainScreen].bounds.size.width` 2. **日志记录**:自定义 NSLog 或其他日志系统,便于调试和...
在iOS开发中,宏定义(Macro Definitions)是Objective-C编程中一种常见的技术,它允许开发者预定义代码片段,提高代码的可读性和可维护性。`YCDefine` 是一个开源项目,专门收集并整理了iOS项目中常用的宏定义,...
在iOS开发中,代理是一种常用的模式,用于实现两个对象之间的通信。其中一个对象(代理对象)声明一个代理协议,而另一个对象(委托对象)同意遵循该协议,从而实现特定的方法。 在使用代理模式时,通常会涉及到多...
以下是对iOS中常用宏定义的详细总结: 1. **常量宏**: 常量宏用于定义全局常量,避免了多次计算和内存分配。例如,使用`#define`定义一个PI常量: ```c #define PI 3.14159265 ``` 在代码中直接使用PI即可,...
常用宏(Macro)在iOS开发中也被广泛使用,它们常用于设置颜色、尺寸、字符串等常量,或者进行条件编译。宏定义可以在项目中创建一个统一的Header文件,方便全局引用。例如,`#define RGBColor(r, g, b)`宏可用于...
### iOS课程大纲详解 #### 第一阶段:编程基础及开发环境搭建 - **目标概述**: - 熟悉Mac操作系统及其基本...整个课程体系旨在培养具备全面iOS开发技能的专业人才,使其能够独立完成高质量的iOS应用程序开发工作。
本篇文章将详细介绍如何进行iOS项目的框架搭建,包括常用宏定义文件的创建、自定义控件的设计以及整体架构的规划。 一、项目初始化与目录结构 首先,我们需要在Xcode中创建一个新的iOS项目,选择Single View App...
IOS 实现图文混排机制是 IOS 开发中常用的技术,用于在移动应用程序中实现图文混排的功能。该机制可以将文字和图片结合在一起,形成一个整体,从而提高用户体验。 在 IOS 中,实现图文混排机制需要使用到 NSString ...
在iOS开发过程中,Xcode是不可或缺的工具,它集成了代码编辑、编译、调试以及模拟器等功能,为开发者提供了高效的工作环境。本资料“聪明的iOS开发者的Xcode使用技巧”聚焦于提升开发效率和优化开发流程,共计15页...
在iOS开发中,可以创建自定义工具类(如CommonUtils),将常用的函数或者功能模块化,减少代码冗余,提高代码复用性。 - 例如,CommonUtils可以包含字符串处理、日期格式化、网络请求、数据存储等常用功能,每个...