为什么NSUTF8StringEncoding可以直接在调用中使用而无需导入它

时间:2014-01-08 01:07:36

标签: objective-c

是objective-c的新手,正在阅读代码https://github.com/zhangxigithub/ZXTools/blob/master/Class/ZXAES/NSData%2BZXAES.m

我无法理解以下内容:

[key getCString:keyPtr maxLength:sizeof(keyPtr) encoding:NSUTF8StringEncoding];

我知道NSUTF8StringEncoding是在NSString.h中定义的,但它不是在这里导入的。那么为什么这个枚举类型可以直接使用?感谢。

1 个答案:

答案 0 :(得分:0)

Foundation包含NSString.h及其类似,并导入Foundation.h,通常在AppName-Prefix.pch中。 .pch文件代表预编译头文件,并在应用程序Xcode构建版本设置中指定。 .pch文件由项目代码文件隐式导入。

在iOS项目中,pch文件通常包含以下内容以及可能的附加内容,例如CoreData:

#ifdef __OBJC__
    #import <UIKit/UIKit.h>
    #import <Foundation/Foundation.h>
#endif