#define USER_DEFAULT [NSUserDefaults standardUserDefaults]
#define DATA_ENV [DataEnvironment sharedDataEnvironment]
#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)
相关推荐
定义了一些常用的宏,写代码的时候用起来挺方便的,添加了pch文件,设置了相对路径;设置pch文件相对路径的方法: 设置PCH的相对路径 要想设置PCH的相对路径,首先我们需要去查看绝对路径。 相对路径 点击PCH...
PCH文件是以`.pch`为扩展名的C或Objective-C源代码文件,它通常包含一些项目中几乎每个源文件都需要引用的通用头文件和宏定义。在编译项目时,Xcode会首先预编译这个头文件,然后在编译其他源文件时复用预编译的结果...
在iOS开发中,宏定义是Objective-C编程中一个非常实用的工具,它们可以用来简化代码、提高效率并增强代码的可读性。标题中的“iOS开发中那些高效常用的宏”指的是开发者在iOS应用开发过程中经常使用的宏定义,这些宏...
开发者需要自行创建一个新的.pch文件来恢复这一部分,这通常包括导入 UIKit 和 Foundation 框架,以及任何全局的宏定义。这是一个常见的iOS开发中遇到的问题,解决方法是新建一个名为"Prefix.pch"的文件,并将其设置...
2.2.1 Macros(宏)主要存放宏定义的地方,这边有两个宏文件,Macros.h主要是项目的一些主要宏,比如字体、版本、色值等,而ThirdMacros.h主要用于存放一些第三放SDK的key值; 2.2.2 Tool(工具类)主要存放一些常用的...
在.pch文件中定义的常量、类别或宏在整个项目中都可以直接使用。 资源包"iOS分类以及工具类汇总"很可能包含了以下内容: 1. 字符串处理:如NSString的分类,增加了去除空格、判断是否为空、格式化等方法。 2. 数字...
为了避免混乱,建议创建一个单独的头文件来存放混淆用的宏定义代码,这样在每个Pods库的PCH文件中都可以方便地引入。 步骤五:处理编译错误。混淆过程中可能会出现各种编译错误,如标识符与C/C++库的函数或系统类型...
是一个以MVC模式搭建的开源功能集合,基于Objective-C上面进行编写,意在解决新项目对于常见功能模块 的重复开发,代码支持iOS7以后版本;超小内存,绝无垃圾文件及无用集成,方便实用,轻量级框架! 不断更新中......
.pch文件是预编译头文件,通常用于定义全局宏和引入常用头文件,这样可以减少编译时间。 总结: iOS SDK的部署涉及从下载SDK到集成、配置、测试等一系列步骤。正确地使用和管理框架,特别是通过CocoaPods,可以提高...
- `AlertPicker_Prefix.pch` 是预编译头文件,常用于全局宏定义和引入公共库。 - `AlertPicker-Info.plist` 存储了应用的基本信息,如应用名称、版本号等。 - `MainWindow.xib` 定义了应用的主窗口界面。 - `...
- `YTDemo_Prefix.pch`: 预编译头文件,可以在这里全局引入头文件和宏定义。 - `YTDemo-Info.plist`: 应用程序的信息配置文件,包含应用的元数据、权限设置等。 - `Classes`: 通常存放自定义的类文件,如数据库操作...
PCH文件中的内容可以包括: 1. 公共宏定义,例如定义常量或快捷方式。 2. 共享头文件的导入,减少每个文件单独导入的代码量。 3. 自定义的日志宏,如示例中的`TLog`,可以根据是否处于Debug模式来决定是否打印日志。...
在使用前,需要在项目的.pch全局宏定义文件中添加#import "AAGlobalMacro.h",然后在ViewController视图控制器文件中添加#import "AAChartKit.h",即可开始创建视图AAChartView和配置视图模型AAChartModel。
7. **PCH(预编译头文件)**:可能包含全局的宏定义和导入。 8. **Info.plist**:应用配置文件,设定应用的基本信息和权限设置。 9. **LaunchScreen.storyboard**:启动界面的设计。 10. **Main.storyboard**:主...
`NanoLifeiPhone_Prefix.pch`是预编译头文件,通常用于导入一些全局需要的库或宏定义,这样在整个项目中就不需要重复导入这些库。在这个项目中,可能包含了对Core Animation库的引用。 `NanoLifeiPhone-Info.plist`...
4. `SwitchView_Prefix.pch`:这是一个预编译头文件,用于在整个项目中导入公共的头文件和宏定义,提高代码的可读性和可维护性。 5. `SwitchView-Info.plist`:这个文件包含了应用的信息,如版本号、图标、权限设置...
4.在pch文件里增加宏定义: 文字 KLOCALIZED_String(STR) [[InternationalControl bundle] localizedStringForKey:STR value:nil table:@"Localizable"] 图片 KLOCALIZED_UIImageName(NAME) [UIImage imageNamed:[...
此外,还可以在.pch文件中定义全局宏等。 #### 7. 解决重复编译 - 使用条件编译指令`#ifndef`、`#ifdef`等可以避免某些代码块被重复编译。 - 示例: ```objective-c #ifndef DEBUG #ifdef USE_MYLIB // ... #...
`cloud_Prefix.pch`是预编译头文件,它包含在整个项目中被广泛使用的头文件和宏定义,如引入UIKit和Foundation框架,以及全局常量和函数的声明。 `cloud-Info.plist`是应用的信息配置文件,包含了应用的元数据,如...
6. `.pch` 文件:预编译头文件,通常包含全局的#imports和宏定义。 在iOS开发中,我们还需要了解一些关键概念,如Auto Layout用于动态调整用户界面,Cocoa Touch是iOS应用程序的基础框架,还有Core Data用于持久化...