iPhone +写作@classname&的区别Xcode中的#import“classname.h”

时间:2012-03-29 13:55:34

标签: iphone xcode ios5

  

可能重复:
  @class vs. #import

我对此非常困惑,编写@classname&的区别是什么? #import“classname.h”。什么时候去@classname?

5 个答案:

答案 0 :(得分:1)

您可以在here上的Objective-C编程语言文档中找到一个好的答案ADC

答案 1 :(得分:0)

@classnameforward declaration。没有任何东西被导入,它只是在编译器中输入, 类将在运行时存在。

#import实际上会导入其他类 - >你可以把它想象成复制到文件中。所以导入的类将在编写它之前编译。

答案 2 :(得分:0)

@classname只是告诉编译器类classname存在。

#import确实导入了头文件,因此编译器不仅知道它存在,而且还知道它的外观。 (像伊娃,方法等......)

答案 3 :(得分:0)

@classname只是让编译器知道该类存在,但是你仍然需要导入相应的.h。您可以使用.h中的@classname然后在.m中导入类,这样可以避免循环引用。您可以在Apple Docs

了解更多相关信息

答案 4 :(得分:0)

引入

@className指令以克服类的循环引用,它也称为前向声明

@class只会通知编译器有一个名为“@className yourClass”的类,无需担心该类,并且在运行时它只是引用该类并执行。

#import "className"将保留该特定类的副本。