美文网首页iOS开发
OC与Swift混编

OC与Swift混编

作者: AceKitty | 来源:发表于2017-02-15 14:30 被阅读82次

OC调用Swift

1.新建OC项目工程

图片.png

2.在项目中新建swft Controller文件

图片.png 图片.png

点击 "Create Bridging Header" 发现在项目中生成了个 OCObject-Bridging-Header.h文件, 该文件主要作用是在swift中引用oc用.

3.OC中使用swift代码, swift代码是以module形式管理的, 在这里我们需要swift以module暴露给我们, 修改如下配置:

图片.png

其中 Product Name 默认为项目的名字, 也可以自己设置, 这个需要记住在后面需要用到.

4.在oc文件中导入swift模块.
'#'import "OCObject-swift.h"
OCObject 为第三步中设置的模块名称, 这个导入xcode可能不会给出提示,需要我们手动输入.

5.在oc文件中使用swift类

图片.png

swift访问oc

1.把需要在swift中用到的oc类导入OCObject-Bridging-Header.h文件.
这个导入xcode可能也不会给出提示,需要我们手动导入.

图片.png

2.在swift中调用oc类.

图片.png

预处理指令

Swift编译器不包含预处理器。取而代之的是,它充分利用了编译时属性,生成配置和语言特性来完成相同的功能。因此,Swift没有引进预处理指令。

简单宏
在C和Objective-C,您通常使用的#define指令定义的一个基本常数,在Swift,您可以使用全局常量来代替。例如:一个全局定义#define FADE_ANIMATION_DURATION 0.35,在Swift可以使用let FADE_ANIMATION_DURATION = 0.35来更好的表述。由于简单的用于定义常量的宏会被直接被映射成Swift全局量,Swift编译器会自动引进在C或Objective-C源文件中定义的简单宏。

复杂宏
在C和Objective-C中使用的复杂宏在Swift中并没有副本。复杂宏是那些不用来定义常量的宏,包含带括号的函数式宏。您在C和Objective-C使用复杂的宏以避免类型检查的限制,或避免重新键入大量的样板代码。然而,宏也会产生Bug和重构的困难。在Swift中你可以使用函数和泛型来达到同样的效果,无需任何的妥协。因此,在C和Objective-C源文件中定义的复杂宏在Swift是不能使用的。

编译配置
Swift代码和C、Objective-C代码被有条件地,以不同方式编辑。SWIFT代码可以根据生成配置的评价可以有条件地编译。生成配置包括true和false字面值、命令行标志以及下表中的平台测试函数。您可以使用-D <#Flag#>指定命令行标志。

相关文章

  • Swift

    混编 15、OC与Swift的混编_海森堡_lichangan的博客-CSDN博客_oc swift 混编[htt...

  • oc Swift 混编

    oc Swift 混编 oc 项目 混编Swift1.1 oc 调用 Swift 的类 和 方法步骤: ...

  • OC与Swift混编 / Mix & Match

    OC与Swift混编 / Mix & Match OC in Swift 通过Header File创建Bridg...

  • 自制Framework:swift与OC混编,自定义module

    为何要swift与oc混编 在ios开发中,swift与oc的混编,几乎是不可避免的。2014年,Apple在开发...

  • OC与Swift混编

    OC与Swift混编 一.objectivec与Swift相互调用对照 OC interface文件如下 转换后对...

  • Swift与OC混编

    Swift与OC混编:OC文件使用Swift文件时,引入#import (项目名字)-Swift.h。(系统帮我们...

  • iOS开发之一Swift与OC混编

    Swift与OC混编:OC文件使用Swift文件时,引入#import (项目名字)-Swift.h。(系统帮我们...

  • OC和Swift混编手动创建桥接文件及命名空间

    Obj-C混编Swift && Swift混编Obj-C Swift引用OC实现通过桥接头文件,OC引用Swift...

  • OC和Swift混编一

    OC工程下混编 Swift工程下混编请查看OC和Swift混编二 1.建一个OC工程命名为OCTestSwift ...

  • swift与OC混编

    swift与OC混编的总结 现在的swift开发多数会用到混编。swift和oc是通过桥接文件来实现的。无论是在o...

网友评论

    本文标题:OC与Swift混编

    本文链接:https://www.haomeiwen.com/subject/aicqwttx.html