美文网首页ios知识积累IOS基础与进阶iOS干货
在oc项目中添加swift文件,并设置oc-swift混编

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

作者: 63c5aa6cb28f | 来源:发表于2016-01-06 15:01 被阅读10976次
  1. 在项目中右键添加一个swift文件,我添加的LearnSwift.swift
  2. 添加后Xcode弹出‘是否配置oc桥接头文件’的提示,点确认,系统自动生成一个项目名-Bridging-Header.h的文件,我的是LearnSwift-Bridging-Header.h
    我的`LearnSwift-Bridging-Header.h`文件内容
  3. 接下来就可以直接在LearnSwift.swift中写swift代码啦 ~ 随便声明一个类,打些log:
    我的`LearnSwift.swift`文件内容
    编译直接通过,这就是在swift中使用oc类和方法了,一切顺利!
  4. 在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
  5. 理解下#import "LearnSwift-Swift.h"
    其实是项目名-Swift.h,这也是Xcode自动生成的,根据你写的所有swift代码,生成一个oc的.h文件,进行类和方法的声明,这样在oc里引用这个头文件后,就相当于引用了所有swift声明,可以直接使用了。

相关文章

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

    在项目中右键添加一个swift文件,我添加的LearnSwift.swift 添加后Xcode弹出‘是否配置oc桥...

  • swift编写注意事项

    1.swift和OC混编 (1) 在swift项目中想要编译OC文件 首先添加Header.h文件在里面导入相应的...

  • OC与Swift混编

    OC与Swift混编 (1)Swift调用OC 首先添加桥接头文件,第一种方式是在Swift项目中第一次添加OC文...

  • 老旧历史工程添加OC-Swift混编-超快速集成指南

    老旧历史工程添加OC-Swift混编-超快速集成指南 截止写稿,Swift 已经更新到 5.2 版本了。算是比较稳...

  • OC和Swift混编

    OC和Swift的混编,分为两种情况: OC项目中嵌入Swift文件 Swift项目中嵌入OC文件 先来看OC项目...

  • Swift学习笔记--好书APP--笔记1

    一、OC-Swift混编中的桥接文件 1.新建文件(new file)选择 Header File创建一个.h文件...

  • Object-C与Swift的混编

    关于swift与oc的混编分为两种情况: 1. 在swift项目中引入OC文件 在swift项目中使用oc的时候需...

  • OC与Swift混编

    OC与Swift如何实现混编 1、 Swift项目中使用OC 在Swift中引用OC需要借助桥接文件xx brid...

  • OC-Swift混编

    OC项目中添加Swift文件以及Swift项目中添加OC文件 OC类引用Swift类,需倒入隐式头文件 "xxx-...

  • iOS 多Target若干问题处理

    OC混编Swift项目中的头文件引入问题 问题背景 在OC中导入-Swift.h文件,切换Target时报错 个人...

网友评论

  • 梁森的简书:发现并不能创建。 还不知道哪里出错了
  • 冰三尺:遇到一个超级坑的问题, 在Swift的工程中创建OC时, 提示我要添加桥接文件, 但是我没添加, 后期我自己手动添加一个, 在Swift中使用OC都没有问题, 但是问题是在OC 中使用Swift, 找到了Swift的类, 但是找不到Swift的方法, 我自己试了好多次, 同样的方式, 一个手动创建桥接文件, 一个自动创建桥接文件, 手动创建的就是不行, 请问作者有遇到过吗?
    冰三尺:@青树一朵朵 解决了, 好像是swift 的类想要在OC里面使用需要继承NSObject, 方法需要添加@objc.
    ca74ecf24e91:请问你这个问题解决了吗:smile:
  • 江南一拐湾儿:这个文件LearnSwift-Swift.h是在哪?
  • LD_左岸:Build Setting 中 defines module 设为Yes了
    product module name 也是工程的名字
    还报工程名-swift.h文件找不到?
    项目是framework
  • LD_左岸:加上 工程名-swift.h文件会报错 说没有这个文件
  • 0cfed2412e8e:我想在OC的.h文件导入swift的类怎么导入,一直报错。。。
    linbj:@T2Jerry 没弄了 现在是纯oc 还没项目切换swift 混编的话仿佛安装包会大几m.
    d020a628f1b8:@linbj 请问你这个问题解决了吗
    linbj:朋友解决了吗。我现在是oc项目 创建了swift 然后头文件可以倒入 可是不能使用
  • 0271fb6f797c:我的项目是支持ios7.0以上的,能用混编吗?
  • f1cfeb3cb646:可是我在创建文件时并没有给我是否桥接文件的提示啊?什么情况呢
  • 黑马饮清泉:Xcode8 只支持Swift混编OC,不支持OC混编Swift吗
    neo63:@黑马饮清泉 支持的
  • 阳光的大男孩儿:找到原因了,主要是因为你的 工程名自己写错了
    e98dfc457ce7:@依然那么爱你forever 工程名没写错,还是会显示找不到咋整?
  • 阳光的大男孩儿:是呀,我这也是会显示没有这个文件这是怎么回事?
  • 917b754d6c41:加上 工程名-swift.h文件会报错 说没有这个文件
    翀鹰精灵:你的工程名中包含中文吗,如果包含中文,你可以尝试修改下Objective-C Generated Interface Header Name的工程名字.
    翀鹰精灵:你的工程名字中包含中文吧!
  • fa14567f7979:不错,简单明了
  • 曾樑:这个估计很多人会想知道

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

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