oc基础知识回顾

oc基础知识回顾

1.import的作用

    #import < >  包含系统库的头文件
     #import " "  包含自定义的头文件
 #include和#import区别
当我们在代码中使用两次#include的时候会报错:因为#include相当于拷贝头文件中的声明内容,所以会报重复定义的错误
但是使用两次#import的话,不会报错,所以他可以解决重复导入的问题,他会做一次判断,如果已经导入一次就不导入了

2.OC中的数据类型

     1.基本数据类型:int float char double,BOOL等
     2.对象类型:NSString、NSArray、NSDictionary、NSSet、NSObject等
     //NSObject 时所有类的父类
     3、id类型,可以是任意类型的对象类型
     在oc中所有的类必须有父类

3.NSArray和NSMutableArray不同

    NSArray 不可变数组,指的是某一个数组中的元素顺序、个数,声明的变量的指针是可以改变的(重新赋值)
    NSMutableArray 变量,变量的指针和数组中的内容都是可以改变的
    OC中编译阶段能否调用某一个方法只看指针类型,是否可以真正执行某一个方法,在运行时决定,只看对象或对象的父类中书否实现方法,如果有就能成功运行,没有就会失败

4.static 作用
使用static 的变量在这个程序运行期间都会被保留,使用static 修饰变量,变量的值会在函数运行结束以后,一直被保留,直到程序退出,声明和赋值 static int a = 0 这行代码只会被执行一遍
5.结构体
定义结构体:struct 结构体名{成员数据类型1 成员名1;成员2数据类型 成员名2;...}

struct Person{
      char * name;
      int age;
 };
  // 声明一个--结构体变量--- 及初始化
  struct Person p = {"name",15};
  //访问结构体成员
   p.name = "范冰冰";
   p.age = 35;
   NSLog(@"name = %s, age = %d",p.name,p.age);
  //---结构体指针----的声明和赋值
   struct Person *p1 = &p;
   p1->name = "刘亦菲";
   p1->age = 18;
 ---常用方式--------
//定义结构体的同时取别名为Student1,实际上是用Student1 代替 struct Student
  typedef struct Student{
         char* name;
         int age;
          char * subject;
   }Student1;
//声明该结构体类型的变量
   Student1 s2 = {"小丽",10,"语文"};

6.枚举

    枚举:是将有规律并且取值有限种的几个值整合到一起,定义为一种数据类型
enum Direction{
            Top = 1,
            Left,
            Bottom,
            Right
        };
  //定义枚举变量
   enum Direction ddd = Left;
    ---常用方式--------
  //给枚举类型取别名 MyDirection 代替 enum Direction 常用
       typedef enum Direction MyDirection;
       MyDirection ccc = Bottom;
        typedef enum EnumName{
          baicai = 0,
            doufu,
            htc,
            apple
        }NewName;
        //声明枚举变量
        NewName cai1 = apple;

你可能感兴趣的:(oc基础知识回顾)