在oc项目中添加swift文件,并设置oc-swift混编

news/2024/7/16 5:16:25
  1. 在项目中右键添加一个swift文件,我添加的LearnSwift.swift

  2. 添加后Xcode弹出‘是否配置oc桥接头文件’的提示,点确认,系统自动生成一个项目名-Bridging-Header.h的文件,我的是LearnSwift-Bridging-Header.h

    bridgingheader_2x.png

    配置oc桥接头文件的提示

  3. LearnSwift-Bridging-Header.h实质上是一个供swift使用的头文件,在这里把所有要暴露给swift的oc头文件都添加进去,这样写swift的时候就可以直接使用那些oc的类和方法了。
    因为swift本身没有头文件,只有.swift;而oc有.h和.m文件。有了这个声明,.swift就可以直接使用oc的.h了

    1240

    我的LearnSwift-Bridging-Header.h文件内容

  4. 接下来就可以直接在LearnSwift.swift中写swift代码啦 ~ 随便声明一个类,打些log:

    1240

    我的LearnSwift.swift文件内容


    编译直接通过,这就是在swift中使用oc类和方法了,一切顺利!

  5. 在oc中使用swift,我在AppDelegate.m中使用刚才创建的swift类,那么先要引用swift头文件,即#import "LearnSwift-Swift.h",然后在这个.m文件中就可以任意使用swift创建的类和方法了:
    LearnSwift *learnSwift = [[LearnSwift alloc] init]; [learnSwift logsth:@"code from oc"];
    编译运行直接过! 输出:
    this is a log from swift : code from oc

  6. 理解下#import "LearnSwift-Swift.h"
    其实是项目名-Swift.h,这也是Xcode自动生成的,根据你写的所有swift代码,生成一个oc的.h文件,进行类和方法的声明,这样在oc里引用这个头文件后,就相当于引用了所有swift声明,可以直接使用了。

               










本文转自 卓行天下  51CTO博客,原文链接:http://blog.51cto.com/9951038/1860144,如需转载请自行联系原作者

http://www.niftyadmin.cn/n/2011080.html

相关文章

在Hekaton里,正确选择哈希存储桶数

今天我使用2048的桶数的哈希索引,往Hakaton里插入100万的记录,测试下在哈希桶数里,哈希冲突(Hash Collision)是如何影响Hekaton的工作量——结果非常非常有意思。首先我想介绍下什么是哈希冲突。 你可能知道&#xff0…

正则表达式 学习笔记2.1

徒弟:师傅呀,正则怎么用呀?搞个有条理性的东东给我看看吧! 师傅:也对,没条理的东西,不懂的人,看了更加晕,先讲讲:字符组。1、基本功能 字符组:l 正则表达式的…

对话框上动态控件的创建、在Picture Control控件上显示图片

1 MFC对话框之上的动态控件的创建 对话框上的控件是MFC类的一个具体对象。 当在对话框之上使用静态控件时,可以根据类向导来为每个控件添加消息、响应函数以及变量。 当需要在对话框中动态的创建某个控件时,就需要手动来代替类向导为动态控件添加消息、…

简单的C#图片压缩类-winform

#region C#图片处理功能 -- BY DREAMDLM/*{*******************************************************************}{ }{ C#图片处理功能-DREAMDLM }{ …

sql 先进先出 库存

createtablet( id intidentity(1,1), name varchar(50),--商品名称 j int, --入库数量 c int, --出库数量 jdate datetime--入库时间 ) insertintot(name,j,c,jdate) selectA,100,0,2007-12-01insertintot(name,j,c,jdate) selectA,200,0,2008-01-07insertintot…

使用Spring RestTemplate解析RESTful服务

在上一篇“使用Spring MVC 4构建Restful服务”博文中,我们谈到了如何使用Spring MVC 4搭建RESTful服务,本文以上篇文章为基础,继续讲解如何解析Spring RESTful服务。上篇文章中,我们用了jacson包进行Java对象的序列化,…

javaApi免费下载

压缩包: 链接:http://pan.baidu.com/s/1qYoizco 密码:cxur .chm文件: 链接:https://pan.baidu.com/s/1WRFecsOo9-pZSb9CoeT7FQ 密码:g7ym CSDN下载:https://download.csdn.net/download/eseszb/…

ACM训练 算法集锦

链接:http://pan.baidu.com/s/1jH4Zp6u 密码:2cuo