typedef ;——别名(类型的别名)
typedef目的一般有两个,
1.
一个是给变量一个易记且意义明确的名字;
2.
typedef int myInt;
另一个简化一些比较复杂的类型声名。
(1)机构体
typedef struct Student
{
int a;
}Stu;
于是在声明变量的时候就可以直接这样定义:Stu stu1;
如果没有typedef 就必须用 struct Student stu1;来声名stu1.
另外也可以不写Student。
但是也就不能这样定义了:struct Student stu1;
而只能这样定义: Stu stu1;
(2) 枚举
无类型名的枚举
typedef NS_ENUM(NSInteger, WebType) {
WebTypeMessageHelp, //乘客帮助
WebTypequestion, //常见问题
WebTypeUseterms, //使用条款
WebTypeAboutUS, //关于我们
WebTypeStatement, //法律条文
WebTypeServiceagreement //易出租服务协议
};
类型名BMKUserTrackingMode的枚举
typedef enum {
BMKUserTrackingModeNone = 0, /// 普通定位模式
BMKUserTrackingModeFollow, /// 定位跟随模式
BMKUserTrackingModeFollowWithHeading, /// 定位罗盘模式
} BMKUserTrackingMode;
(3)block
typedef void(^blockName) (parameterTypes);
__weak __typeof(self)weakSelf = self;