iOS 常量和全局变量的定义
2015-07-31 15:23
225 查看
一、常量:
如果要定义一组相关的常量,尽量使用枚举类型( enumerations ),枚举类型的命名规则和函数的命名规则相同:
使用匿名枚举定义 bit map :
使用 const 定义浮点型或者单个的整数型常量,
enum {
kMyEnum = 2;
};
如果要定义一组相关的整数常量,应该优先使用枚举。常量的命名规范和函数相同:
不要使用 #define 宏来定义常量,如果是整型常量,尽量使用枚举,浮点型常量,使用 const 定义。 #define 通常用来给编译器决定是否编译某块代码,比如常用的:
注意到一般由编译器定义的宏会在前后都有一个 __ ,比如 __MACH__ 。
二、全局变量
1.extern:
const & extern区别 :const:只读变量,不允许修改;extern:全局变量
使用extern关键字法:
1 、新建Constants.h文件(文件名根据需要自己取),用于存放全局变量;
2、 在Constants.h中写入你需要的全局变量名,但是在定义时不能对其进行初始化,否则就出错例如:
NSString *url;//指针类型
int count;//非指针类型
3 、在需要用到全局变量的文件中引入此文件:
#import "Constants.h"
4、给全局变量初始化或者赋值:
在使用全局变量的时候就和使用普通变量一样使用了。
当然还有其他的方法:可以在AppDelegate中声明并初始化全局变量,使用单例访问全局变量等
如果要定义一组相关的常量,尽量使用枚举类型( enumerations ),枚举类型的命名规则和函数的命名规则相同:
1 2 3 4 5 6 7 | // 定义一个枚举,注意带有 `_` 的名称是不会被使用的 typedef enum _NSMatrixMode { NSRadioModeMatrix = 0, NSHighlightModeMatrix = 1, NSListModeMatrix = 2, NSTrackModeMatrix = 3 } NSMatrixMode; |
1 2 3 4 5 6 7 | enum { NSBorderlessWindowMask = 0, NSTitledWindowMask = 1 << 0, NSClosableWindowMask = 1 << 1, NSMiniaturizableWindowMask = 1 << 2, NSResizableWindowMask = 1 << 3 }; |
enum {
kMyEnum = 2;
};
如果要定义一组相关的整数常量,应该优先使用枚举。常量的命名规范和函数相同:
1 | const float NSLightGray; |
1 | #ifdef DEBUG |
二、全局变量
1.extern:
const & extern区别 :const:只读变量,不允许修改;extern:全局变量
使用extern关键字法:
1 、新建Constants.h文件(文件名根据需要自己取),用于存放全局变量;
2、 在Constants.h中写入你需要的全局变量名,但是在定义时不能对其进行初始化,否则就出错例如:
NSString *url;//指针类型
int count;//非指针类型
3 、在需要用到全局变量的文件中引入此文件:
#import "Constants.h"
4、给全局变量初始化或者赋值:
extern NSString *url; url = [[NSString alloc] initWithFormat:@"http://www.hbcfg.net"];//指针类型;需要alloc extern int count; count = 0;//非指针类型
在使用全局变量的时候就和使用普通变量一样使用了。
当然还有其他的方法:可以在AppDelegate中声明并初始化全局变量,使用单例访问全局变量等
相关文章推荐
- [ios]关于gps以及坐标系
- iOS开发-Day14-OC封装
- iOS 推送学习
- ios-应用管理
- iOS 中播放gif图片
- ios NSString使用总结
- iOS中遍历数组的几种方法
- iOS文字转语音播放
- View层的组织和调用方案(中)
- ios客户端RSA公钥加密 .net后台私钥解密解决方案(基于Openssl)
- iOS画线粗细
- iOS--iOS7摄像头识别二维码功能
- iOS 耳机的简单知识
- iOS 键盘弹出视图上移
- 小细节大作为:提高iOS访问权限通过率有这几个办法
- IOS开发-PCH文件的使用
- IOS7 到IOS8 一个通用的横竖屏幕切换总结
- iOS 文件操作
- iOS 简单的猜颜色游戏 界面设计的比较简单 - -
- iOS8新特性扩展(Extension)应用之四——自定义键盘控件