Swift和Objective-C混合编程——OC调用Swift

既然讲的是Swift和OC的混合编程,我的上一篇博客《Swift和Objective-C混合编程——Swift调用OC》讲的是如何在一个Swift项目中调用OC代码,现在我们要实现在OC项目中调用Swift代码,也是非常的方便。具体实现步骤如下:

(1)创建一个iOS项目,语言选择OC,设备选择iPhone。

(2)然后在项目中右键,New Files,选择Cocoa Touch Class,然后语言选择Swift。继承自NSObject。新建,会有一个对话框,选择Yes即可。

(3)此时目录结构下多了一个Swift类和一个Bridging-Header.h文件,如图:

(4)然后在新建的HelloSwift.Swift类中,写一个方法,等下用OC来调用。

(5)然后在项目的ViewController.m文件中import如一个项目的隐藏头文件,格式为 #import "项目名-Swift.h".并在viewDidLoad()中调用Swift的sayHello方法,具体代码如下:

(6)运行程序,输出结果如下:符合我们的预期。

通过以上实现,我们可以在基于OC开发的项目中调用Swift程序,大大提高我们的开发效率,我们再也不必纠结于使用Swift开发还是基于OC了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-05 05:53:53

Swift和Objective-C混合编程——OC调用Swift的相关文章

在OC项目中添加Swift文件并实现混合编程

对于已经工作的开发者,并不适合也没有条件从一个全新的swift项目开始,进行开发. 虽然网上关于swift和oc混合编程的教程比较多,但是大多是基于 swift项目的,所以对咱们 OCer的参考价值有一定折扣. 现在swift虽然仍然存在很多缺陷,但是鉴于苹果的强势,是时候在项目中把简单的功能交给swift了,给自己,给项目,给swift一个缓冲区,都是极好的. 说了这么多,开始上代码. 现在的背景是: 已经有一个oc项目了,我想要加入 swfit,并且实现 oc调用 swift ,swift调

VC与Matlab混合编程之调用动态链接库dll(C++)——<二>

VC与Matlab混合编程之调用动态链接库dll--<二> 1.是先建立 matlab 的 m 文件. ellipsefit.m 其包含:function [Xc,Yc,A,B,Phi,P]=ellipsefit(x,y) 2.MCC命令编译生成得到h.dll.lib等文件 在matlab命令行中输入: mcc -W cpplib:ellipsefit ellipsefit.m -T link:lib (此方式为c++风格函数) (具体命令含义可参考<精通matlab与C/C++混合程序

OC调用Swift 整理步骤!总结别人的!方便自己查找!

1. 2. 上面的修改了一个配置项,有一个Product Module Name在后面会使用. 在工程里面点击File/New/File…,选择iOS/Source/Cocoa Touch Class,按照如下填写创建一个新的文件:  上图中的Subclass of一定要设置为NSObject或其子类,否则OC工程将不会找到该类. 点击确认后会选择保存路径,点击Create,出现如下界面:  这个界面是询问是否创建桥接的头文件,这个文件在Swift调用OC代码的时候比较管用,但是在OC中调用Sw

初探swift语言的学习笔记九(OC与Swift混编)

swift 语言出来后,可能新的项目直接使用swift来开发,但可能在过程中会遇到一些情况,某些已用OC写好的类或封装好的模块,不想再在swift 中再写一次,哪就使用混编.这个在IOS8中是允许的. 先中简单的入手,先研究在同一个工程目录下混合使用的情况. 为了演示.先准备两个类 第一个是swift语言写的类,文件名为 act.swift import Foundation class Act : NSObject { func hasAct(tag:Int) -> String { swit

iOS混合编程之使用Swift+Objective-C调用WebService

最近由于项目的需要,要使用Swift语言开发个iOS项目,某个简单的需求就是要调用远程的WebService数据.问题出现了,网上有很多使用OC调用WebService的例子,但是几乎没有找到使用Swift调用WebService的例子,我苦苦搜索了好几个小时,就是没有满足我要求的,怎么办,项目要泡汤了?Swift和OC,我该怎么选择? 天无绝人之路,还好Swift和OC可以完美的实现混合编程,可以相互实现调用.然后又在网上找到一个使用OC访问WebService的例子http://my.osc

Swift 4 和 Objective-C 混合编程(一) 快速起步

Swift 4 和 Objective-C 在同一个工程里的混搭编程的方法 你可以在 xcode 里同时使用 Swift 和 Objective-C(以下简称OC)来写代码,混搭编程的好处很多,比如允许大量代码的复用,在性能和开发效率之间找到平衡等. 在 Swift 中引用 OC 我们建立一个工程时,XCode会询问我们选择什么语言进行开发,如果你选择的是OC,那么当你第一次新建一个swift文件时,开发环境会询问你是否建立一个 .h 文件.这个 .h 文件命名方式是 "#ProjectName

【备忘】oc 调用 swift

swift 搭建的项目,在oc类中,调用swift 库,(IQKeyboardManagerSwift) 1.正常来说 在oc中 #import "WDApp-swift.h" ,然后就可以直接调用swift类了 2.问题:我是swift 搭建的项目 ,如上是不能直接调swift 3.解决: #import "WDApp-swift.h" #import <IQKeyboardManagerSwift/IQKeyboardManagerSwift-Swift.

OC调用Swift

改动main.m文件 #import <Foundation/Foundation.h> #import "Root.h" int main(int argc, const char * argv[]) { @autoreleasepool { Root *rt = [[Root alloc] init]; [rt desc]; } return 0; } OC文件:Root.h #import <Foundation/Foundation.h> //Objec

在一个项目中同时使用Swift和Objective-C代码混合编程的方法

主要介绍了在一个项目中同时使用Swift和Objective-C代码的方法,在一个工程中同时使用Swift和Objective-C混合语言编程的方法. Swift 与 Objective-C 的兼容能力使你可以在同一个工程中同时使用两种语言.你可以用这种叫做 mix and match 的特性来开发基于混合语言的应用,可以用 Swfit 的最新特性实现应用的一部分功能,并无缝地并入已有的 Objective-C 的代码中. Mix and Match 概述 Objective-C 和 Swift