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

      说了这么多,开始上代码.

      现在的背景是: 已经有一个oc项目了,我想要加入 swfit,并且实现 oc调用 swift ,swift调用oc .

      1.新建一个swift文件

      2.接下来会询问你是否建立桥接文件,点击是 ,那么我后面的就是多余的了,所以选择取消,我们手动建立桥接文件

      3.手动建立桥接文件:新建头文件

      关于命名: 有经验的人都知道,这个头文件是项目公用的,同时如果自动创建,文件名也是 :

      项目名-Bridging-Header.h

      但是因为我现在的项目名是中文,所以我自己命名了一下.

       

      4. 配置头文件

      在build setting里面搜索 swift ,根据实际情况进行配置:

      注意:是相对于工程文件所在的相对路径.从 Finder里面看,不要让项目中得group扰乱你的判断

      5.在头文件中引入需要的 oc头文件,这里我就用 UIKit了

       

      6.编写代码

       

      可以看到,我们可以使用UIKit的类了

      注意:关于自定义类,希望有个好的命名规范,那么在混合编程中,你将受益无穷

      7.oc调用swift

      现在因为测试我想把窗口的根控制器设置为我的swift的那个.

      因为swift没有头文件,所以不好办了...

      其实,系统默认给我们生成了头文件(需要我们的swift类是NSObject的直接或者间接子类),我们只要引入

      项目名-Swift.h

      没办法了,我的项目名是中文...

      引入:

      8.使用 swift的类

      9.运行

      一切正常 (好丑,不要吐槽)

       


    展开全文
  • 项目中右键添加一个swift文件,我添加的LearnSwift.swift添加后Xcode弹出‘是否配置oc桥接头文件’的提示,点确认,系统自动生成一个项目名-Bridging-Header.h的文件,我的是LearnSwift-Bridging-Header.h。...
    在项目中右键添加一个swift文件,我添加的LearnSwift.swift添加后Xcode弹出‘是否配置oc桥接头文件’的提示,点确认,系统自动生成一个项目名-Bridging-Header.h的文件,我的是LearnSwift-Bridging-Header.h

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

    我的LearnSwift-Bridging-Header.h文件内容
    接下来就可以直接在LearnSwift.swift中写swift代码啦 ~ 随便声明一个类,打些log:

    我的LearnSwift.swift文件内容

    编译直接通过,这就是在swift中使用oc类和方法了,一切顺利!在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理解下#import "LearnSwift-Swift.h"
    其实是项目名-Swift.h,这也是Xcode自动生成的,根据你写的所有swift代码,生成一个oc的.h文件,进行类和方法的声明,这样在oc里引用这个头文件后,就相当于引用了所有swift声明,可以直接使用了。


    展开全文
  • 有时候 ,我们会涉及到双向混合编程,特别是OCswift的互相引用。...2、将需要引用的oc文件 .h头文件 添加到桥接类。   如下: 然后在swift调用处,直接就可以使用了。   oc调用swift

    有时候 ,我们会涉及到双向混合编程,特别是OC和swift的互相引用。

     

    swift调用oc的方法:

    1、桥接文件,一般是swift工程,在创建一个oc文件时,系统自动添加(不用改名,直接默认即可)

    2、将需要引用的oc文件 .h头文件 添加到桥接类中。

     

    如下:

    然后在swift调用处,直接就可以使用了。

     

    oc调用swift的方法:

    1、首先设置一下Packing

    进入TARGETS ->Build Settings -> Packaging 中

    设置Defines Module为YES

    设置 Product Module Name (这个也可以不设置,直接使用默认就行)

    如图:

     

     2、设置完之后,在需要引用的oc文件头部  import一下,格式为: #import "工程名-Swift.h"

          比如:#import "OrderSystem-Swift.h"

     

    然后就可以使用swift文件了

     

    对了,本文是基于swift创建的工程,两种情况分别对应正常的 swift引用oc文件,以及在oc文件内回头引用swift文件。

    如果是基于oc创建的工程,暂未测试。

    展开全文
  • swift调用oc的方法: 1、桥接文件,一般是swift工程,在创建一个oc文件时,系统自动添加(不用改名,直接默认即可) 2、将需要引用的oc文件 .h头文件 添加到桥接类。 具体方法可以参考我的这篇博客,里面进行了...

    swift调用oc的方法:

    1、桥接文件,一般是swift工程,在创建一个oc文件时,系统自动添加(不用改名,直接默认即可)

    2、将需要引用的oc文件 .h头文件 添加到桥接类中。
    具体方法可以参考我的这篇博客,里面进行了详细讲解

    oc调用swift

    1、首先设置一下Packing

    进入TARGETS ->Build Settings -> Packaging 中

    设置Defines Module为YES

    设置 Product Module Name (这个也可以不设置,直接使用默认就行)

    这里写图片描述

    2、设置完之后,在需要引用的oc文件头部 import一下,格式为: #import “工程名-Swift.h”

    比如:#import “H56580E2E-Swift.h”

    然后就可以使用swift文件了

    展开全文
  • OC项目中使用Swift

    2016-02-27 09:23:30
    OC项目中使用Swift 本文版权归作者所有,如需转载请联系孟祥月 CSDN博客:http://blog.csdn.net/mengxiangyue 独立博客:http://mengxiangyue.com 最近公司的项目开始计划使用Swift,由于原先的工程都是使用...
  • OC项目中引入Swift

    2020-07-07 09:47:18
    OC项目中引入swift 首先在工程文件里面创建一个.swift文件,如果你之前没有创建过这时候会提示你创建一个桥接文件; kywy-Bridging-Header.h 备注:有的孩纸会没有提示,创建这个文件的。避免打乱节奏我在文章...
  • 今天研究了一下如何在OC项目中使用swift文件,即OCswift的混编问题,发现在OC中要使用swift文件也是蛮简单的,实践过程列如下: 1)首先随便创建了一个OC项目,就叫 DetialViewDemo 2)因为Swift的代码默认是...
  • Swift工程引用OC文件

    2017-09-28 16:15:01
    一、是直接将OC文件拉到Swift的工程,然后Xcode会自动创建桥接头文件,这种就比较省事了,Xcode给你自动创建。 二、就是Xcode没有提示,需要自己创建桥接文件,步骤如下 1.首先去添加一个桥接的OC头文件,还有...
  • 参考:https://www.cnblogs.com/mazhiqiang/p/5557002.html=============swift...在swift项目中创建一个OC文件的时候,Xcode 会提示创建一个桥接文件 点确定创建桥接文件,Xcode会自动创建一个桥接文件名字:工...
  • 一、是直接将OC文件拉到Swift的工程,然后Xcode会自动创建桥接头文件,这种就比较省事了,Xcode给你自动创建。 二、就是Xcode没有提示,需要自己创建桥接文件,步骤如下 1.首先去添加一个桥接的OC头文件,还有...
  • 2. 在swiftOC混编的编译环境下, oc类不能访问swift创建类的代理? 解决方法如下: 在代理的头部加上 @objc(代理名字),这样就在外部就可以访问了,如下图。 然后就和oc中的代理一样,写上协议方法...
  • swift导入oc第三方库

    2019-05-05 15:31:39
    对于ios开发而言,目前很多第三方库或者demo还是以oc为主,swift相关的资料很少,这篇文章就结合博主的开发实例对在swift工程导入并使用oc版本的第三方库进行阐述。 正文 1.编写oc桥接头文件 顾名思义,将oc编写的...
  • 1. swift调用oc,在swift项目内新建或者拖入oc文件,Xcode会提示添加header引用,点击允许即可,手动档寻百度 将需要暴露给swift调用的类导入该header.h,即可在swift类调用,swift一个项目就是一个命名空间,...
  • 1、直接在swift项目中创建oc的类,会弹出提示没直接选择创建桥接文件,Xcode会自动帮你创建好并进行配置。 2、自己手动创建并配置,名字自己起, 然后进行配置,Target->Build ...
  • oc调用swift

    2015-11-14 18:05:06
    如果你想在Objective-C工程,嵌入Swift文件,实现OC调用Swift,那么这篇文章就能帮助你,由于本人最近在开发Swift项目,所以实现过OC调用Swift,在这过程遇到过一些瓶颈,特此,将此文奉上,供大家参考。...
  • 最近OC项目中有用到第三方swift插件图表,charts,在手动导入过程遇到一些问题,记录一下,便于以后方便查找 1:新建工程 2:github下载charts文件 3:然后将解压后的文件夹整个拖到自己的工程文件夹下(很多教程只让...
  • OCswift相互调用

    2017-04-26 11:39:33
     在OC项目中创建一个swift文件的时候,Xcode 会提示 需要创建一个桥接文件,点确定创建桥接文件,Xcode会自动创建一个桥接文件 名字:工程名-Bridging-Header.h 这个桥接文件是 swift
1 2 3 4 5 ... 20
收藏数 4,249
精华内容 1,699
关键字:

oc swift 项目中添加