• 有时候 ,我们会涉及到双向混合编程,特别是OCswift的互相引用。   swift调用oc的方法: 1、桥接文件,一般是swift工程,在创建一个oc文件时,系统自动添加(不用改名,直接默认即可) 2、将需要引用...

    有时候 ,我们会涉及到双向混合编程,特别是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创建的工程,暂未测试。

    展开全文
  • OC 调用 Swift 方法 2018-09-06 11:47:34
    1.新建Swift文件之前做以下设置 2.创建Swift文件后,会提示创建桥接文件,点击创建 3.Swift 类 import Foundation class RealmManager: NSObject { override init() { super.init() } @objc func ...
  • OC项目引入Swift方法 在OC项目中,有可能会遇到需要引入Swift写的第三方库,下面整理下OC项目如何使用Swift库 1.在已有的OC工程中新建一个Swift文件,命名为Test.swift,会弹出提示,选择Create Bridging Header建立...
  • OC 引用并调用Swift文件 2019-07-24 17:09:03
    1、我们先创建一个OC的项目MyFirstOCUseSwiftDemo 2、我们点击Target看到右边选择Build Settings,把Defines Module改为YES, 3、我们回到工程目录下,New File一个Swift File,起名为MyFristSwift,此时会...
  • 最近在研究swift,就我看来,swift确实是比OC更优秀的语言,这可以体现在很多方面,网上已经对比的很透彻,就不一一赘述。 今天研究了一下如何在OC项目中使用swift文件,即OCswift的混编问题,发现在OC中要使用...
  • swift导入oc第三方库 2019-05-05 15:31:39
    swift导入oc第三方库 前言 对于ios开发而言,目前很多第三方库或者demo还是以oc为主,swift相关的资料很少,这篇文章就结合博主的开发实例对在swift工程中导入并使用oc版本的第三方库进行阐述。 正文 1.编写oc桥接头...
  • 上篇讲了Swift中使用OCSwift中使用OC,这篇讲下OC中使用Swift类。 在OC中需要用到Swift代码的文件中引入#import “XXX-Swift.h”,XXX是你的工程名称。 特别注意 1、被使用的Swift的类必须是至少继承自NSObject...
  • 由于本人在开发过程中主要用的是OC语言,所以pod的都是OC库,Podfile里又没加use_frameworks!所以一直都是.a类型的。后来因为需求需要用到一个只有swift版本的库,就使用use_frameworks!将所有.a库变成了.framework...
  • #### 1、OC工程项目导入Swift 版本的framework静态库后,模拟器和真机编译都通过,但是模拟器环境下无法调用库里面的类,真机环境可以 #### 2、如果是Swift项目工程引入这个Swift静态库没有任何问题 1、 真机可以...
  • Swift文件中写好协议2.oc类文件中导入:"项目名-swift.h"格式的文件 即:#include "项目名-swift.h"3.在协议前面添加 @objc例如:@objc protocol MYProtocol {func MyFunc( )}...
  • 最近又开始看了一些关于Swift的视频、博客、书,发现swift相对于OC使用起来更简洁了,于是就想在原有项目中引入swift。原有的项目都是使用OC写的,既然要在原有项目中引入swift文件首先就要实现OCswift的混编设置...
  • 最近OC项目中有用到第三方swift插件图表,charts,在手动导入过程中遇到一些问题,记录一下,便于以后方便查找 1:新建工程 2:github下载charts文件 3:然后将解压后的文件夹整个拖到自己的工程文件夹下(很多教程只让...
  • OC项目使用swift 2018-02-02 16:54:34
    1.新建Swift File命名为Common,创建完成会提示是否创建桥接文件,选择Create Bridging Header, 在BeiSu-Bridging-Header文件添加你想引用的OC的文件或者第三方 2.TARGETS - Build Settings 搜索Defines Module, ...
  • https://www.jianshu.com/p/429a2dfb1040 这个链接地址解决办法有效,供参考,谢谢
  • 总结一下自己对OC中和Swift中循环引用的认识。 一.OC中的循环引用分为类中的循环引用和对象之间的循环引用。 1.类的循环引用 造成原因: 在两个类的.h文件中使用了#import "" 而造成两个类之间的循环引用 解决办法:在...
  • ...在OC中使用Swift 1.首先创建一个工程名字就叫做CHWTest1 2.在工程的Build Setting中把Defines Module改为YES,如图 3.把Product Name设为工程的名字,如图 4
  • 在使用swiftoc混编的时候,swift中是不能导入头文件的; 1.在swift中,第一次创建oc文件时,系统会自动弹出,是否自动创建头文件,这个就不提示了,点击YES,就好 2.还有一种情况是,如果系统没有提示自动...
  • 前言近来开始用swift撸App,想用做一些数据持久化的尝试,数据持久化就五种方法, plist属性列表, NSUserDefaults偏好设置, NSArchieve归档和解档, SQLite3或FMDB, Core Data 前三种对增删数据的情况不大友好,...
  • 首先就是在 targets->... 然后创建swift文件时会生成"文件名-Bridging-Header.h"这样一个桥接文件 怎样使用cocoapods就不多说了 最重要的就是在Podfile里面加上use_frameworks! 因为swift使用的是框架而不是静态库
  • OC项目引入使用swift编写的三方库后,报错 错误描述:The “Swift Language Version” (SWIFT_VERSION) build setting must be set to a supported value for targets which use Swift. This setting can be set ...
1 2 3 4 5 ... 20
收藏数 2,645
精华内容 1,058