转载自 OC学习篇之---@class关键字的作用以及#include和#import的区别

一、#import和#include的区别

当我们在代码中使用两次#include的时候会报错:因为#include相当于拷贝头文件中的声明内容,所以会报重复定义的错误

但是使用两次#import的话,不会报错,所以他可以解决重复导入的问题,他会做一次判断,如果已经导入一次就不导入了

 

二、关键字@class的作用

在来看一下OC中的关键字@class的作用,在看他的作用之前,先来看一个问题:

现在有一个课程类Classes和学生类Student,他们两之间需要相互引用(导入),直接看代码比较直接:

 1 //  
 2 //  Classes.h  
 3 //  08_@class  
 4 //  
 5 //  Created by jiangwei on 14-10-11.  
 6 //  Copyright (c) 2014年 jiangwei. All rights reserved.  
 7 //  
 8   
 9 #import <Foundation/Foundation.h>  
10   
11 #import "Student.h"  
12   
13 //不会将Student.h拷贝过来,只是告诉编译器Student这个类在别的地方中有定义,这样就不知道这个类中任何信息(哪些属性和方法)  
14 //@class Student;  
15   
16 @interface Classes : NSObject{  
17       
18 @public  
19     Student *_student;  
20 }  
21   
22 - (void)t1;  
23   
24 @end  
Classes.h

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-11-05
  • 2021-04-17
  • 2022-12-23
  • 2022-01-02
猜你喜欢
  • 2022-12-23
  • 2022-02-23
  • 2022-12-23
  • 2021-07-23
  • 2021-11-01
  • 2022-03-06
  • 2021-09-21
相关资源
相似解决方案