umbrella header
-iOSframework
或更高版本library
上Objective-C
的头文件可以包含对该项目中所有其他头的引用。
创建目标框架时,Xcode将自动生成<targer_name.h>
文件。它应该与Product Name
Build Settings
:
Product Name
-默认值为 $(TARGET_NAME:c99extidentifier)
Product Module Name
-默认值为 $(PRODUCT_NAME:c99extidentifier)
例如<umbrella_name.h>
看起来像
#import "header_1.h"
#import "header_2.h"
结果,您可以使用下一个语法
#import <umbrella_name.h>
代替
#import <header_1.h>
#import <header_2.h>
此外umbrella header
,还需要通过典型module map
结构[关于] [手动创建]
在实践中,当您Framework
在Objective-C
[示例]或Swift
[示例]上创建此文件时,将使用<product_name>
导入Objective-C
到Swift
一个框架内的目标
在伞状标题中,导入要公开给Swift的每个Objective-C标题。
Swift会在您的伞形标题中看到您公开公开的每个标题。该框架中的Objective-C文件的内容可从该框架目标内的任何Swift文件中自动获得,而无需导入语句。使用与系统类相同的Swift语法,使用Objective-C代码中的类和其他声明。