cobish.

导航

 

定义两个类:Student类,Book类

Student.h

 1 //如果是继承某个类,就要导入类的头文件
 2 #import <Foundation/Foundation.h>
 3 
 4 //如果只是定义成员变量、属性,用@class,能提高性能,在.m文件要用时再导入
 5 @class Book;
 6 //#import "Book.h"
 7 
 8 @interface Student:NSObjectt {
 9     Book *book;
10 }
11 
12 @property Book *book;
13 
14 @end

Student.m

#import "Student.h"

#import "Book.h"

 

两种方式的区别:

1、#import方式会包含被引用类的所有信息

2、@class方式只是告诉编译器有这个类的存在

3、若有上百个头文件都用#import了同一个文件,一旦这个文件改了,那全部文件都要重新编译,很耗性能,而@class则不需要

4、对于循环以来关系,比如A类引用B类,同时B类引用A类,用#import会报错

通常.h文件用@class,.m文件用#import

 

 

 

 

 

 

 

 

 

 

 

 

 

posted on 2013-11-30 20:09  cobish.  阅读(61)  评论(0)    收藏  举报