iOS—— static和const联合使用;使用static const 与 #define
2016-04-07 18:50
543 查看
static和const联合使用:
static将一个全局变量变成局部变量
const将一个局部变量变成局部常量
// 定义了一个局部常量
static const CGFloat ZMJRed = 0.4;
使用static const 与 #define:
使用static const修饰变量和宏定义的比较
相同点
都不能再被修改
一处修改,其它都改了
不同点
static const修饰变量只有一份内存
宏定义,只是简单的替换,每次使用都需要创建一份内存
结论
使用static const修饰更加高效,在同一个文件内可以使用static const取代#define
// static const修饰变量只有一份内存
static const CGFloat ZMJRed = 0.4;
// 宏定义,只是用0.4替换ZMJRed,每次使用都需要创建一份内存
#define ZMJRed 0.4
const实际开发的应用:
一般会先新建ZMJConst.h文件专门存放常量的引用,网络url宏定义
如: extern const CGFloat ZMJRed;
extern NSString * const ZMJName;
可以模仿系统UIKIT_EXTERN来代替extern,逼格更高!
一般会新建ZMJConst.m文件专门存放 const修饰的变量,需要用的时候导入头文件就可以了。
const CGFloat DMFontSize20 = 20.0f;
NSString *const DMApp = @"xxxxx";
static将一个全局变量变成局部变量
const将一个局部变量变成局部常量
// 定义了一个局部常量
static const CGFloat ZMJRed = 0.4;
使用static const 与 #define:
使用static const修饰变量和宏定义的比较
相同点
都不能再被修改
一处修改,其它都改了
不同点
static const修饰变量只有一份内存
宏定义,只是简单的替换,每次使用都需要创建一份内存
结论
使用static const修饰更加高效,在同一个文件内可以使用static const取代#define
// static const修饰变量只有一份内存
static const CGFloat ZMJRed = 0.4;
// 宏定义,只是用0.4替换ZMJRed,每次使用都需要创建一份内存
#define ZMJRed 0.4
const实际开发的应用:
一般会先新建ZMJConst.h文件专门存放常量的引用,网络url宏定义
如: extern const CGFloat ZMJRed;
extern NSString * const ZMJName;
可以模仿系统UIKIT_EXTERN来代替extern,逼格更高!
一般会新建ZMJConst.m文件专门存放 const修饰的变量,需要用的时候导入头文件就可以了。
const CGFloat DMFontSize20 = 20.0f;
NSString *const DMApp = @"xxxxx";
相关文章推荐
- 实战iOS7之NSURLSession
- iOS自定义键盘弹出view的位置移动(三种方法)
- iOS 获取当前时间 年、月、日、周几
- ios7之后label高度计算
- IOS 基础-define、const、extern、全局变量
- iOS基础CGAffineTransform的简单使用
- iOS开发 常见错误
- 如何用未越狱手机安装ipa文件(更新版)
- iOS -- 怎么解决could not find developer disk image
- ios delegate, block, NSNotification用法
- IOS响应式编程框架ReactiveCocoa(RAC)使用示例
- iOS-setNeedsLayout等布局方法
- iOS _ 图片保存到本地相册
- iOS - 观察者模式
- iOS8 【xcode6以上中添加pch全局引用文件】
- iOS蓝牙4.0开发(BLE)
- iOS 懒加载不起作用的原因
- 更新证书错误:No matching provisioning profiles found
- iOS开发系列--数据存取
- iOS7与iOS8的比較