OC与swift相互调用
一、OC调用swift文件
二、swift调用OC文件
三、注意和总结
添加:
四、自定义桥接文件
一、OC调用swift文件
在OC项目中创建一个swift文件的时候,Xcode 会提示 需要创建一个桥接文件,点确定创建桥接文件,Xcode会自动创建一个桥接文件
名字:工程名-Bridging-Header.h
这个桥接文件是 swift 调用OC文件的时候用的
1、
进入TARGETS ->Build Settings -> Packaging 中
设置Defines Module为YES
设置 Product Module Name ,也可以不设置,默认为工程的名字。这个在后面会用到
2、
在swift写一个类
注意这个类一定要继承NSObject,不然在OC中没法用
var gender: String
self.gender = gender
}
3、
在OC需要用到的swift文件中 导入文件 "Product Module Name -Swift.h" 因为 Product Module Name 默认是工程的名字
所以直接导入 #import "工程名-Swift.h"
4、
记着写完先command +B编译一下,如果没有报错就可以在OC文件调用swift中的类了
二、swift调用OC文件
在swift项目中创建一个OC文件的时候,Xcode 会提示创建一个桥接文件 点确定创建桥接文件,Xcode会自动创建一个桥接文件
名字:工程名-Bridging-Header.h
把swift需要用到的OC文件的头文件放到桥接文件里 工程名-Bridging-Header.h
例如:
1、
-(void)actionMake;
2、
3、
三、注意和总结
注意:
四、自定义桥接文件
OC与swift相互调用的更多相关文章
- iOS OC与swift相互调用
小哥("我"的自称)个人混编的时候喜欢先创建OC项目,然后在项目中创建swift类.这样有个好处就是桥文件可以自动创建的同事路径不需要我手动去写了,另外还有个目的就是现在小哥自我感 ...
- JS与原生OC/Swift相互调用总结
代码地址如下:http://www.demodashi.com/demo/12754.html JS-OC-Swift JS和OC/Swift相互调用,主要总结了JS和OC交互的三种方式 1.使用UI ...
- JS代码和OC代码的相互调用
JS调用OC 很多应用里面或多或少的调用了网页,来达到绚丽的效果,所谓的JS调用OC.....举个例子吧,网页上有个按钮 点击按钮跳转界面,跳转的动作由OC的代码实现. OC调用JS 还是举个例子,我 ...
- swift和oc之间的相互调用(block,代理)
第一:swift->oc 这个相对简单一点, 在自动生成的桥接文件中导入你要掉的oc文件名就可以了, 如果没有生成桥接文件也可以自己手动创建(Header File) 第二:oc->swi ...
- iOS开发之OC与swift开发混编教程,代理的相互调用,block的实现。OC调用Swift中的代理, OC调用Swift中的Block 闭包
本文章将从两个方向分别介绍 OC 与 swift 混编 1. 第一个方向从 swift工程 中引入 oc类 1. 1 如何在swift的类中使用oc类 1.2 如何在swift中实现oc的代理 ...
- [Swift]在Swift项目中创建桥接头文件,Swift文件和Objective-C文件相互调用
创建一个Swift项目[demo],以下内容Swift文件和Objective-C文件相互调用都是在Swift项目中. 一.Swift文件调用Objective-C文件 新建文件夹[SupportFi ...
- iOS OC和Swift进行互相调用
有时候 ,我们会涉及到双向混合编程,特别是OC和swift的互相引用. swift调用oc的方法: 1.桥接文件,一般是swift工程,在创建一个oc文件时,系统自动添加(不用改名,直接默认即可) 2 ...
- Lua 与 OC 相互调用
本文主要讲如何完成lua和object-c的相互调用. lua是一种脚本语言,可以方便的移植到各种宿主语言中,并且可以支持热更新,在游戏开发中也能当做主要的语言来编写游戏的逻辑,但是要接入 ...
- swift与OC混编之调用函数
在桥接头文件里#import oc的.h文件,整个swift工程都能使用该oc文件,在.h里暴露的方法都能被该工程使用 //oc文件 TestOC.h #import @interface TestO ...
随机推荐
- Java_jdbc 基础笔记之十 数据库连接 (ResultSetMetaData 类)
ResultSetMetaData 类 调用ResultSet 的getMetaData()方法得到ResultSetMetaData 类对象: 可用于获取关于 ResultSet 对象中列的类型和属 ...
- php 调用微信上传临时素材接口 {“errcode”:41005,”errmsg”:”media data missing hint”}
原因:由于PHP5.6以前与之后的版本curl_setopt有差异.PHP5.6以后不再支持”@文件路径”的方式. $picPath= "public\public\upload\xxx.p ...
- Nginx配置SSL证书部署HTTPS网站(颁发证书)
一.Http与Https的区别HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高 ...
- np.stack
- visual studio 无添加视图 选项
我是因为 UserController未继承 Controller
- 史上最全的 DB2 错误代码大全
1 前言 作为一个程序员,数据库是我们必须掌握的知识,经常操作数据库不可避免,but,在写 SQL 语句的时候,难免遇到各种问题.例如,当我们看着数据库报出的一大堆错误时,是否有种两眼发蒙的感觉呢?咳 ...
- jdk1.7 64位官方下载
平时要新装一个系统环境,或者下载最新的jdk,就需要到oracle官网去下载一个jdk,而目前生产环境都是1.7的环境下开发完成的,需要下载1.7版本的jdk,oracle官方网站的默认下载页面是1. ...
- 获取进程 pid 以及命令参数
方法一: wmic process where name="node.exe" get ProcessId,CommandLine 方法二: tlist -c
- EasyNVR摄像机网页H5全平台无插件直播流媒体播放服务二次开发之接口鉴权示例讲解
背景需求 EasyNVR的使用者应该都清楚的了解到,EasyNVR一个强大的功能就是可以进行全平台的无插件直播.主要原因在于rtsp协议的视频流(默认是需要插件才可以播放的)经由EasyNVR处理可以 ...
- 【tensorflow-转载】tensorflow模型部署系列
参考 1. tensorflow模型部署系列: 完