关键字typedef const define

typedef

typedef简单地说就是给对应类型改个名字

给double取名为doubleTY

typedef double doubleTY;  

给Person结构体取别名为PersonTY

typedef struct Person
{
    NSString *name;
    NSString *sex;
}PersonTY;  

使用:

 PersonTY ty = {@"yu", @"man"};
 NSLog(@"*******%@--%@", ty.name, ty.sex);

给block取别名TYBlock

typedef void(^TYBlock)(NSString *name); 

typedef 是类型替换,语句的一种,结尾必须有分号“;”

typedef使用示例:

//定义
typedef void(^TYResult)(NSError *error, NSDictionary *resultDic);
/**
 * 测试typedef Block
 */
+ (void)customMethod:(TYResult)resultBlock;

其他界面调用的时候直接就能提示出完整的block

[TYCommon customMethod:<#^(NSError * _Nonnull error, NSDictionary * _Nonnull resultDic)resultBlock#>];
// typedef Block
[TYCommon customMethod:^(NSError * _Nonnull error, NSDictionary * _Nonnull resultDic) {   
}];

const

const为只读关键字,一旦用来确定内容或者指针后在使用的时候是不可以改变其已经确定的内容或指针。
当你想使用一个字符串作为判断的标记,那么你就可以用该关键字,就不用担心在其它地方该值被修改。

声明三个const在不同位置情况下的变量

当在最前面的时候,表示指针不允许被改变,值可以改变。

const NSString * nameA = @"testA";

当在中间的时候,表示指针不允许被改变,值可以改变。

NSString const * nameB = @"testB";

当在最后的时候,表示指针可以被改变,但是值不能改变(最常用)。

NSString * const nameC = @"testC";

define

define的作用:文本替换(把出现的替换为定义的)。

#define HelloWorld @"Hello World !"  //HelloWorld替换后面的文本
#define HelloWorldNew HelloWorld  //HelloWorldNew替换HelloWorld

define 是文本替换,属于预编译指令,本身不参与编译,除非希望替换的文本中有“;”否则不用加。

if (@available(iOS 15.0, *)) { }

@available(iOS 15.0, *)表示适用iOS15.0及以后的各个版本

我的更多文章:你等下课滴

您可以关注我以便随时查看我最新的文章,本篇文章是为了做笔记,顺便提供给大家共同学习进步!如果您对本篇文章有任何疑问,请留言给我,有什么错误也可以留言提醒,如果对大家有帮助我很荣幸!感谢!

你可能感兴趣的:(关键字typedef const define)