当子类化NSObject时,它对导入" Foundation.h"有什么不同?或" NSObject.h"?

时间:2015-03-16 04:40:20

标签: ios objective-c xcode nsobject foundation

在这里,我们使用不同的NSObject语句看到#import的相同子类。如果有的话,这对我的子类有什么不同?这对我的最终编译程序有什么不同呢?

#import <Foundation/NSObject.h>
    @interface Card : NSObject

#import <Foundation/Foundation.h>
    @interface Card : NSObject

2 个答案:

答案 0 :(得分:4)

#import <Foundation/NSObject.h>
    @interface Card : NSObject

在此代码中,您只导入NSObjectFoundation框架,因此您无法继承Foundation框架的其他类。

虽然

#import <Foundation/Foundation.h>
  @interface Card : NSObject

此代码允许您在导入整个框架时继承框架提供的任何类,如NSProxyNSRange等。

希望它能帮助.... :)

答案 1 :(得分:2)

区别很简单。

使用时:

#import <Foundation/NSObject.h>

它只导入Foundation框架的NSObject头文件。

#import <Foundation/Foundation.h>

所有框架都有一个主头文件,其中包含该特定框架的所有公共头文件。通常,这个主头文件命名约定类似于FrameworkName.h,因此对于Foundation框架,它将是Foundation.h并且它导入Foundation框架的所有其他公共头文件。因此,如果您包含该内容,则无需从该框架导入任何其他类标题。