Object-c学习之路三(@class与#import的区别)


//@class只是为了声明B是一个类  当两个类相互包含的时候#import是做不到的

//一般在.h文件中用@class声明一个类成员 ..m文件中具体用到时才用#import应用

//二者区别: @class 只是为了声明一个类 #import "" 是完全拷贝代码 ;@class#import ""效率高。


//如果是继承某个类一定要用#import



a.h

//
//  A.h
//  MemoryManagement
//
//  Created by WildCat on 13-7-24.
//  Copyright (c) 2013年 wildcat. All rights reserved.
//

#import <Foundation/Foundation.h>

//@class只是为了声明B是一个类  当两个类相互包含的时候#import是做不到的
//一般在.h文件中用@class声明一个类成员 在..m文件中具体用到时才用#import应用
//二者区别: @class 只是为了声明一个类 而#import "" 是完全拷贝代码 ;@class比#import ""效率高。

//如果是继承某个类一定要用#import
@class B;

@interface A : NSObject
@property B *b;


@end


b.h

//  B.h
//  MemoryManagement
//
//  Created by WildCat on 13-7-24.
//  Copyright (c) 2013年 wildcat. All rights reserved.
//

#import <Foundation/Foundation.h>
@class A;
@interface B : NSObject
@property A *a;

@end



原文地址:https://www.cnblogs.com/lixingle/p/3313060.html