如何在Swift中导入现有的Objective C类
在XCode 6.0 DP中,我一直在使用Swift一段时间来在现有的项目中使用它。 我想从我的ViewController.swift文件访问MyModel.h(我现有的目标C模型对象)。 我想导入
#import "MyModel.h"
到我的Swift文件。 但是我找不到如何做到这一点。
发布答案,如果它有助于一个人面临同样的问题。
我发现在iOS Developer Library中给出了一个非常简单的解决方法。 请参考以下链接:
苹果医生说:
要将一组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它