从prefix.pch导入类

时间:2014-04-04 04:43:27

标签: ios iphone objective-c xcode cocoa-touch

我正面临一个问题,目前我正在使用xcode 5.0,当我从prefix.pch导入clasess时,它不会给appdelegate.h文件提供建议。但它给出了其他视图控制器的建议。我搜索了它,发现我们是否在prefix.pch中定义了宏,然后发生了这个问题。删除宏后仍然没有给appdelegate提出建议 Suggestios意味着如果我尝试写

 @property(strong,nonatomic) UINavigationController *navControler;

写完@property(strong,nonatomic) UINav xcode后没有给出建议。但是如果我从prefix.pch文件中删除所有import语句和宏,那么xcode会在appdelegate上提供建议。

enter image description here

1 个答案:

答案 0 :(得分:2)

从我的观点来看,我不想找到解决方法,而是想对实际问题有所了解。

因此,当您想在.pch(预编译的头文件)中添加内容时,这意味着您希望在实际编译程序之前使用文件内容。建立。简单来说,pch中包含的头文件充当存根代码,基本代码,或者可以是用于完整使用的代码。

因此,如果您已将appDelegate.h文件包含在.pch&在appDelegate.h文件中编写一些代码,然后编译器尝试使用来自.pch的' appDelegate.h`作为预编译信息。并且可能导致Xcode后台处理无限期,这不允许在已经预编译的文件中显示下拉帮助。

对我看来,.pch中的app delegate.h不是正确的地方。在程序中的任何地方,您都可以包含appDelegate.h文件。然而,它也是糟糕的类设计方法的信号。

此外,如果您想添加#define声明& .pch中的其他宏则不是正确的方法。正确的方法是:

  1. 制作一个简单的.h文件,说constants.h
  2. #defines & macros文件中添加constants.h所有内容。
  3. #import "constants.h"文件中添加.pch
  4. 那应该可以解决你的问题。
  5. 希望有所帮助。