关于ios:在Objective-C Project中的Swift文件中导入Objective-C类

Import Objective-C class in Swift file in Objective-C Project

我目前正在使用Objective-C项目,并且在其中使用了一些swift文件,因此创建了类似appname swift.h.的桥头,并且我可以导入Objective-C类。但我的问题是我需要在swift文件中导入objective-c类。

以下是示例:

Objective-C project>drag and drop swift files ClassA.swift,
ClassB.swift into project and created bridge. Now in objective-C class
i'm able to use swift classes in objective-c classes like below
Appdelegate.h i imported #import"<#YourProjectName#>-Swift.h"

now i need to import Appdelegate.h in ClassB.swift.

请帮我一下


您不需要在项目中创建文件"appname swift.h",它将在生成过程中自动生成,不应尝试修改此文件。您可以为您的项目创建桥接头,但我想您对此没有问题。我只是建议您重命名桥接头,因为我猜生成的文件"appname swift.h"与桥接头同名,这就是您遇到问题的原因。

重命名桥接头之后,请更改生成设置。您将需要在build settings->objective-c桥接头更改字符串(有关详细信息,请参阅所附的图像):

Setup of bridging headers

如果要更改文件"appname swift.h"的名称,还需要修改生成设置。您可以在build settings->objective c generated interface header name(更多信息,请参见附图)中执行此操作:

Setup of the Objective C interface file

在桥接头中添加以下行:

1
#import"MyObjectiveCClass.h"

之后,您将能够在您的swift代码中使用类MyObjectiveCClass(objective-c)(如果文件"myObjectVecClass.h"包含一个名为"myObjectVecClass"的类)。

Xcode 9.2提供的所有设置。