免费开源的iOS开发学习平台

OC基础:typedef语句

Objective-C允许开发者为已经定义过的数据类型指派一个别名,这就需要使用typedef语句。使用typedef定义数据类型的别名,有时可以提升程序的可读性。

使用typedef定义

对于希望使用别名的数据类型,我们可以在程序的头部来统一定义。typedef可以定义任意的数据类型,可以是系统自带的数据类型,如int、float等,也可以是自定义的类,同时也可以支持枚举或者结构体。

如下所示,我们分别为int型、MYPerson自定义类(注意定义时需要带*号)以及CGRect结构体定义了别名。

typedef int Integer;
typedef MYPerson *Person;
typedef CGRect MYRect;

创建变量

当定义了数据类型别名后,我们就可以用新的名词来定义变量了,如下所示。

  • 在文件头部定义typedef。对于MYPerson类,需要提前定义该自定义类,并且引入MYPerson.h文件。
typedef int Integer;
typedef MYPerson *Person;
typedef CGRect MYRect;
  • 在函数中使用提前定义的数据类型。
void typedefStudy () {
    //声明
    int number1 = 100;
    Integer number2 = 100;
    
    MYPerson *person1 = [[MYPerson alloc] init];
    Person person2 = [[MYPerson alloc] init]; //注意没有*号
    
    CGRect frame1 = CGRectMake(0, 0, 100, 100);
    MYRect frame2 = CGRectMake(0, 0, 100, 100);
    
}

示例代码

https://github.com/99ios/2.5