objective-c工程使用swift

原文  http://blog.csdn.net/xuanwenchao/article/details/30226823

1. 我们添加swift类到现有的objective-c工程中。CMD+N 如下所示 

技术分享

2.点Next后 输入sfLoginView 语言选择swift

技术分享

3.点Next后 会弹出堤示,是否创建桥接文件,只有第一次创建时才会出现, 创建第二个类时如果之前已经创建就不会有提示了, 该文件被用来在swift中使用objective-c的类时,引入头文件。

技术分享

4.点击 YES后就创建了两个文件,如下图所示,我的工程名叫SePass,生成的桥接文件叫SePass-Bridging-Header.h

技术分享

5.打开sfLoginView.swift文件,创建一个我们的swift类,当然你也可以使用playground文件来编辑后再copy到swift文件中。

技术分享

6. 现在假设我们需要在swift中使用一个objective-c的一个类,叫GTMBase64, 此时我们只要打开刚才生成的 桥接文件SePass-Bridging-Header.h 在里面引用我们想要的头文件(#import "GTMBase64.h")。

技术分享

7. 引用头文件后,就可以直接用该类了。

         var imageData: NSData = GTMBase64 .decodeString( g_DataImageKey )

8. 现在我们用swift编写的类 sfLoginView已经完成了,接下来我们要在现有的objective-c中引用我们的swift编写的类了, 因为swift类自己没有头文件,我们无法直接import过来, 所以我们要帮助他生成一个可以引用的头文件,点工程文件->选targets -> BuildingSettings -> Product Module Name 我们输入whatwhatwhat 

技术分享

9. 此时XCode会生成一个头文件,whatwhatwhat-swift.h 我们只在要需要使用sfLoginView的oc.m文件中引用这个头文件后,就可以使用sfLoginView类了

  #import "whatwhatwhat-swift.h"

技术分享

10. 我们再来看下人whatwhatwhat-swift.h中是什么内容

看来是系统帮助我们生成了, 对应swift类的objective-c的类实现方式

技术分享

11.下面是官方说明, 一旦你导入swift代码到你的工程后,你就可以使用标准ocjective-c来操作swift类

技术分享

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。