`

ios开发常用的宏

 
阅读更多
#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开发常用宏定义 提高代码重用性

    iOS 开发常用宏总结

    在iOS开发中,宏定义(Macros)是一种常用的编程技巧,它可以提高代码的可读性和复用性。本文将对iOS开发中常见的宏定义进行总结,帮助开发者更好地理解和使用它们。 1. 字符串是否为空 `kStringIsEmpty(str)` 这个...

    ios-iOS 开发 - 常用宏定义大全.zip

    定义了一些常用的宏,写代码的时候用起来挺方便的,添加了pch文件,设置了相对路径;设置pch文件相对路径的方法: 设置PCH的相对路径 要想设置PCH的相对路径,首先我们需要去查看绝对路径。 相对路径 点击PCH...

    iOS常用宏定义framework

    在iOS开发中,框架(Framework)是至关重要的组成部分,它包含了一组相关的库、资源以及接口定义,方便开发者快速构建应用程序。"iOS常用宏定义framework" 提供了一系列预定义的宏和常用类别方法,旨在提高开发效率...

    iOS开发中常用的一些宏定义.zip

    以下是一些iOS开发中常用宏定义的知识点: 1. **预处理器宏**:在Objective-C中,`#define`关键字用于创建预处理器宏。它们在编译时被替换为指定的文本,可以用来定义常量、简写复杂表达式或实现条件编译。 2. **...

    iOS 宏定义

    iOS 开发常用的宏定义大全

    iOS开发中那些高效常用的宏 - 新风作浪的博客专栏 - 博客频道 - CSDN.NET1

    以下是一些iOS开发中的高效常用宏及其详细说明: 1. **Prefix.pch文件**: 在iOS项目中,`Prefix.pch`文件是预编译头文件,它包含的宏定义会在每个源文件被编译之前先被引入。这样可以确保全局使用的宏定义、类别...

    iOS开发工具类汇总,包含各种常用功能,用简单的宏定义使iOS开发简单、快捷、高效.zip

    这个压缩包“iOS开发工具类汇总”显然提供了一组实用的宏定义,旨在简化iOS应用程序的开发过程,提高开发效率。其中包含的“CoreEditText-master”可能是一个专门针对文本编辑的工具库。 `CoreEditText-master`很...

    iOS 软件开发的MVC以及宏的应用

    在iOS开发中,宏的常见用途包括: 1. **常量定义**:定义全局常量,避免硬编码值,如`#define kScreenWidth [UIScreen mainScreen].bounds.size.width` 2. **日志记录**:自定义 NSLog 或其他日志系统,便于调试和...

    YCDefine, iOS项目中常用到的宏整理,使用方便快捷。.zip

    在iOS开发中,宏定义(Macro Definitions)是Objective-C编程中一种常见的技术,它允许开发者预定义代码片段,提高代码的可读性和可维护性。`YCDefine` 是一个开源项目,专门收集并整理了iOS项目中常用的宏定义,...

    8.1《iOS开发笔试题600道-笔试手写篇》(2).pdf

    在iOS开发中,代理是一种常用的模式,用于实现两个对象之间的通信。其中一个对象(代理对象)声明一个代理协议,而另一个对象(委托对象)同意遵循该协议,从而实现特定的方法。 在使用代理模式时,通常会涉及到多...

    iOS中常用的宏定义总结

    以下是对iOS中常用宏定义的详细总结: 1. **常量宏**: 常量宏用于定义全局常量,避免了多次计算和内存分配。例如,使用`#define`定义一个PI常量: ```c #define PI 3.14159265 ``` 在代码中直接使用PI即可,...

    iOS开发框架

    常用宏(Macro)在iOS开发中也被广泛使用,它们常用于设置颜色、尺寸、字符串等常量,或者进行条件编译。宏定义可以在项目中创建一个统一的Header文件,方便全局引用。例如,`#define RGBColor(r, g, b)`宏可用于...

    iOS课程大纲

    ### iOS课程大纲详解 #### 第一阶段:编程基础及开发环境搭建 - **目标概述**: - 熟悉Mac操作系统及其基本...整个课程体系旨在培养具备全面iOS开发技能的专业人才,使其能够独立完成高质量的iOS应用程序开发工作。

    iOS项目框架搭建

    本篇文章将详细介绍如何进行iOS项目的框架搭建,包括常用宏定义文件的创建、自定义控件的设计以及整体架构的规划。 一、项目初始化与目录结构 首先,我们需要在Xcode中创建一个新的iOS项目,选择Single View App...

    IOS实现图文混排

    IOS 实现图文混排机制是 IOS 开发中常用的技术,用于在移动应用程序中实现图文混排的功能。该机制可以将文字和图片结合在一起,形成一个整体,从而提高用户体验。 在 IOS 中,实现图文混排机制需要使用到 NSString ...

    聪明的iOS开发者的Xcode使用技巧iOS开发技巧共15

    在iOS开发过程中,Xcode是不可或缺的工具,它集成了代码编辑、编译、调试以及模拟器等功能,为开发者提供了高效的工作环境。本资料“聪明的iOS开发者的Xcode使用技巧”聚焦于提升开发效率和优化开发流程,共计15页...

    IOS项目开发便捷类

    在iOS开发中,可以创建自定义工具类(如CommonUtils),将常用的函数或者功能模块化,减少代码冗余,提高代码复用性。 - 例如,CommonUtils可以包含字符串处理、日期格式化、网络请求、数据存储等常用功能,每个...

Global site tag (gtag.js) - Google Analytics