【发布时间】:2014-05-18 20:43:24
【问题描述】:
我在我的 iOS 项目中包含了一个广泛使用的 UIImage 类别来处理 PDF,但出现了一些编译错误。这提出了几个问题。
Q1:为什么 Xcode(或者实际上是 LLVM 编译器)不会对包含自身的头文件发出任何警告?我不知道这在 C 或 Objective-C 中是否有特殊含义,可以防止它被视为错字?在我的示例中,我认为这是一个错误,Foundation.h 可能是预期的包括:
在分类文件NSString+MD5.h我找到了:
#import "NSString+MD5.h"
@interface NSString(MD5)
- (NSString *)MD5;
@end
对应的.m 不包括.h。 (链接为“Here”)
Q2:我收到编译错误,因为我从一个不包含 Foundation 框架(iOS 的 AVCam 3.1)的 Apple 项目开始!所以NSString 是未定义的。我对此感到有些困惑,但与 xcode 中的基础框架链接就像包括其所有标头一样?我至少会再次收到警告?
感谢您对这个可能非常基本的 C 主题的任何解释。
【问题讨论】:
-
Q2:你检查过Prefix.pch吗?
-
检查pch文件,每个模板项目的基础和uikit都在那里导入。
-
@bigblackdot 和 pawan,确实 Prefix.pch 在大多数项目(不是 AVCam)上都有基础和 UIKit,这说明了这一点。
标签: ios objective-c xcode objective-c-category