【IOS】关键字之 #define const static extern

关键字解析说明
#define宏与常量不同的是,可以是对象或方法
const常量不可变
static静态的每个对象的静态数据都一样
extern外部的查找外部所有同名的变量
static const静态常量静态常量,注意const位置

宏的定义

#define TIME 0.1
#define URL @"https://github.com"
#define COLOR ([UIColor colorWithRed:1.000 green:0.659 blue:0 alpha:1])

常量的正确写法

const NSString *const1 = @"const1";//可修改
NSString *const const2 = @"const2";//不可修改,正确使用
NSString const *const3 = @"const3";//可修改
    
const1 = @"1";
const2 = @"2";//编译时就错误了
const3 = @"3";

NSLog(@"const1: %@",const1);//1
NSLog(@"const2: %@",const2);//const2
NSLog(@"const3: %@",const3);//3

静态变量

//当创建对象时,每个对象中的constString都是相同的
static NSString *constString = @"123456";

静态常量

//使用静态常量取代#define,静态常量只有一份且不可变
//效率高于#define,优先使用
static NSString *const constString = @"123456";

外部的

//会查找其它文件定义的名为externString的成员变量
extern NSString *externString;
NSLog(@"%@", externString);//这时候是有值的,会是其它类中同名的全局变量的值
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值