美文网首页iOS面试专题
iOS 宏定义与constant 的使用

iOS 宏定义与constant 的使用

作者: 俊俊吖 | 来源:发表于2017-01-19 15:49 被阅读0次

一。在iOS中,经常使用宏定义,或者使用constant 修饰一些数据类型,要正确区分他们的使用不要在项目中乱用

1.当我们想全局共用一些数据是,可以使用宏,变量,常量

宏:

#define  JJHeader @"俊俊"

变量:

NSString *JJHeader = @"俊俊";

常量区分:

1)全局常量:不管你定义在任何文件夹,外部都能访问

constant NSString *JJCoder = @"俊俊不是丑女";

举个例子:

你在某一个控制器里定义了字符串全局常量  JJCoder

constant NSString *JJCoder = @"俊俊不是丑女";

extern可置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量或函数时,在其它模块中寻找其定义。另外,extern也可用来进行链接指定。

然后在工程其他任何地方都能找到这个常量(在其他地方找的时候要使用extern可置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量或函数时,在其它模块中寻找其定义。必须和全局常量同名)

extern NSString*JJCoder;

2)局部常量:用static修饰后,不能提供外界访问

加上static 之后。

static const NSString*JJCoder =@"俊俊不是丑女";

在其他控制器里此时运行一下就会报错,

3)constant 修饰的位置不同,代表什么含义

1.constant NSString *JJcoder = @"俊俊不是丑女";

*JJcoder 不能被修改,JJcoder能被修改

2.NSString constant *JJcoder = @"俊俊不是丑女";

*JJcoder不能被修改,JJcoder 可以被修改

结论:const右边的总不能被修改

举个例子:

const int*p =NULL;

inta =20;

intb =30;

p = &a;

*p =20;

int const *p =NULL;

inta =20;

intb =60;

p = &a;

*p =80;

*p不能改,与上面的错误一样

int*constp =NULL;

inta =30;

intb =60;

p = &a;

*p =50;

p 不能被修改

二。怎么在工程当中使用到这样的全局常量

举个例子:

比如在工程当中用到一些通知通知的名字不可修改

一般项目中,定义全局常量,会写在独立文件里

比如pch 或者 其他文件(单独放项目常量的文件)

在.m 文件里(在 FindViewController)里

在.h 里面暴露出来

在需要这些值得地方引入这两个值的.h 

#import"AppDelegate.h"

#import"RootFirstViewController.h"

#import"FindViewController.h"

在APPDElegate里面输出这两个值

相关文章

  • iOS 宏定义与constant 的使用

    一。在iOS中,经常使用宏定义,或者使用constant 修饰一些数据类型,要正确区分他们的使用不要在项目中乱用 ...

  • 关于extern引出的问题

    问题 项目中在.mm文件中使用宏: 报错: 解析 iOS的常量声明与定义 iOS中声明常量 定义常量 这个是iOS...

  • iOS - 《系统宏》宏,预处理命令

    在ios中使用预处理命令[C语言的特殊命令] 1.宏定义 #define 与 #undef 2.带参数宏定义 3....

  • IOS NSLog宏定义

    IOS NSLog宏定义 标签(空格分隔): IOS IOS NSLog宏定义 宏定义NSLog方法,不用加";"...

  • 一些小链接

    1、iOS 宏(define)与常量(const)的正确使用 iOS宏(define)与常量(const)的正确使...

  • iOS | iOS宏定义的使用与规范

    宏定义在很多方面都会使用,例如定义高度、判断iOS系统、工具类,还有诸如文件路径、服务端api接口文档。为了对宏能...

  • iOS宏定义的使用与规范

    这篇文章是我从开源中国转载过来的,说下转载原因,就是开发中需要跟同事配合,但是每个人都有每个人得编程习惯,但是都各...

  • iOS宏定义的使用与规范

    链接:http://my.oschina.net/leejan97/blog/354904?fromerr=oox...

  • iOS 宏定义与常量的使用

    学习基础知识,看了两篇文章,记个笔记1、【如何正确使用const,static,extern】|那些人追的干货[h...

  • iOS之宏定义

    iOS开发小技巧之--WeakSelf宏的进化 宏定义不是C语句,也无须使用分号结束 宏定义并不是变量,它甚至不是...

网友评论

    本文标题:iOS 宏定义与constant 的使用

    本文链接:https://www.haomeiwen.com/subject/ebfibttx.html