如何在Swift中导入现有的Objective C类

在XCode 6.0 DP中,我一直在使用Swift一段时间来在现有的项目中使用它。 我想从我的ViewController.swift文件访问MyModel.h(我现有的目标C模型对象)。 我想导入

#import "MyModel.h"到我的Swift文件。 但是我找不到如何做到这一点。

发布答案,如果它有助于一个人面临同样的问题。

我发现在iOS Developer Library中给出了一个非常简单的解决方法。 请参考以下链接:

https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html#//apple_ref/doc/uid/TP40014216-CH10-XID_75

苹果医生说:

要将一组Objective-C文件导入到与Swift代码相同的应用程序目标中,您需要依靠Objective-C桥接头将这些文件展示给Swift。 当您将Swift文件添加到现有的Objective-C应用程序或Objective-C文件到现有的Swift应用程序时,Xcode提供创build此头文件。

所以我创build了MyApp-Bridging-Header.h文件,并添加了以下行:

 #import "MyModel.h" 

现在让我使用我的ViewController.swift的模型,如下所示:

 var myModel = MyModel() myModel.name = "My name" myModel.dobString = "11 March,2013" println ("my model values: Name: \myModel.name and dob: \myModel.dobString") 

提供给任何正在试图解决这个问题的人。 如果必须从头开始创build桥接文件,则还必须在“生成设置”>“Swift编译器”>“Objective-C桥接头”中指定path。

在文件中说对swift编程没有import声明。

在这里输入图像说明

要导入到Swift应用程序中或在创build混合语言应用程序的Objective C应用程序中,您需要创build一个桥接标头,您可以参考Apple Docs

它说

Objective-C和Swift文件可以共存于一个项目中,不pipe项目最初是Objective-C还是Swift项目。 您可以直接将其他语言的文件添加到现有的项目中。 这种自然的工作stream程使得创build混合语言的应用程序和框架目标就像创build用单一语言编写的应用程序或框架目标一样简单。

要将一组Objective-C文件导入到与Swift代码相同的应用程序目标中,您需要依靠Objective-C桥接头将这些文件展示给Swift。 当您将Swift文件添加到现有的Objective-C应用程序或Objective-C文件到现有的Swift应用程序时,Xcode提供创build此头文件。

编辑:我已经创build了一个代码为您的帮助,你可以在这里find它