oc 调用swift库_oc调用swift第三方库 - CSDN
  • iOS OC项目调用Swift

    万次阅读 2017-03-17 13:51:27
    网上有很多关于OC项目中使用Swift类的方法,但是亲自试了之后,发现不够详细,多次尝试后,终于找出详细的方法。 现把方法和遇到的问题,记录下来,方便其他同仁借鉴.

    网上有很多关于OC项目中使用Swift类的方法,但是亲自试了之后,发现不够详细,多次尝试后,终于找出详细的方法。
    现把方法和遇到的问题,记录下来,方便其他同仁借鉴:

    一、新建一个OC工程,工程名称自定,在这里我定义为OCAndSwiftDemo,如图:

    新建项目架构图

    二、在新建Swift类之前,进行相关设置,如图:

    相关设置

    三、在项目中,新建一个TestDemo的swift类,点击Create后,提示如图:

    创建OC调用Swift类的桥接文件

    选择Create Bridging Header,一定要选择这个,如果不选择,就引入不了Swift类,然后生成”项目名称-Bridging-Header.h”桥接文件

    然后编辑Swift类,如果Swift类想要被OC发现,必须继承自NSObject,如图:

    TestDemo类

    四、调用Swift类,我们想要调用Swift类的方法里面引入头文件:”项目名称-Swift.h”,如图:

    调用Swift类

    注释:如果调用不了Swift类,可以先Shift+Command+R一下。

    展开全文
  • Swift调用oc库

    2016-12-29 21:14:27
    MBProgressHUD:半透明提示器,Loading动画等SDWebImage:图片下载和缓存的MJRefresh: 下拉刷新,上拉加载Alamofire.xcodeproj和SwiftyJSON.xcodeproj是Swift,这篇博客主要记录调用上面几个oc。...

    先列举这个工程中用到的oc源码库: 

    • MBProgressHUD:半透明提示器,Loading动画等
    • SDWebImage:图片下载和缓存的库
    • MJRefresh: 下拉刷新,上拉加载
    • Alamofire.xcodeproj和SwiftyJSON.xcodeproj是Swift的库,这篇博客主要记录调用上面几个oc的库。

     

    第一步:将oc的源码库拖入到我们的projec,如下图。

     

    第二步:新建一个头文件,用于引用oc的库。如下图,选择 object library 中的 头文件,拖拽到project的根目录。

     

    注意头文件名字的命名规范:项目名称-Brdging-Header.h,如下图。

     

    第三步:新建完成后,使用#import来引用oc库,如下图。

     

    第四步:该步骤比较重要,选择 SexyGallery > Build Settings > 在搜索框输入 "Swift Compiler" >  选择 Objective-C Bridging Header > 键入刚才的文件名 SexyGallery-Bridging-Header.h > Command + s 保存即可。

     

    导入成功后,接下来测试如何引用,下面以及调用MJRefresh库为例,只要UIRefreshControl声明变量能编译能通过,就说明能正常调用,具体使用方法参见MJRefresh的相关文档: 

    复制代码
    import UIKit  
    class GalleryListViewController:  UIViewController, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout  {
      
        let refreshControl = UIRefreshControl() //下拉刷新
        @IBOutlet weak var collectionView: UICollectionView!
      
        override func viewDidLoad() {
            super.viewDidLoad()
            self.configureRefresh() 
        }
        
        //设置下拉和上啦刷新
        func configureRefresh(){
            self.collectionView?.header = MJRefreshNormalHeader(refreshingBlock: { () in
                print("header")
                self.RefreshData()
                self.collectionView?.header.endRefreshing()
            })
            
            self.collectionView?.footer = MJRefreshAutoFooter(refreshingBlock:
                { () in
                    print("footer")
                    self.loadData()
                    self.collectionView?.footer.endRefreshing()
            })
        }
    }
    复制代码

     

    完!

    展开全文
  • 先列举这个工程中用到的oc源码: MBProgressHUD:半透明...Alamofire.xcodeproj和SwiftyJSON.xcodeproj是Swift,这篇博客主要记录调用上面几个oc。 第一步:将oc的源码拖入到我们的projec,如下...

    先列举这个工程中用到的oc源码库: 

    • MBProgressHUD:半透明提示器,Loading动画等
    • SDWebImage:图片下载和缓存的库
    • MJRefresh: 下拉刷新,上拉加载
    • Alamofire.xcodeproj和SwiftyJSON.xcodeproj是Swift的库,这篇博客主要记录调用上面几个oc的库。

     

    第一步:将oc的源码库拖入到我们的projec,如下图。

     

    第二步:新建一个头文件,用于引用oc的库。如下图,选择 object library 中的 头文件,拖拽到project的根目录。

     

    注意头文件名字的命名规范:项目名称-Brdging-Header.h,如下图。

     

    第三步:新建完成后,使用#import来引用oc库,如下图。

     

    第四步:该步骤比较重要,选择 SexyGallery > Build Settings > 在搜索框输入 "Swift Compiler" >  选择 Objective-C Bridging Header > 键入刚才的文件名 SexyGallery-Bridging-Header.h > Command + s 保存即可。

     

    导入成功后,接下来测试如何引用,下面以及调用MJRefresh库为例,只要UIRefreshControl声明变量能编译能通过,就说明能正常调用,具体使用方法参见MJRefresh的相关文档: 

    import UIKit  
    class GalleryListViewController:  UIViewController, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout  {
      
        let refreshControl = UIRefreshControl() //下拉刷新
        @IBOutlet weak var collectionView: UICollectionView!
      
        override func viewDidLoad() {
            super.viewDidLoad()
            self.configureRefresh() 
        }
        
        //设置下拉和上啦刷新
        func configureRefresh(){
            self.collectionView?.header = MJRefreshNormalHeader(refreshingBlock: { () in
                print("header")
                self.RefreshData()
                self.collectionView?.header.endRefreshing()
            })
            
            self.collectionView?.footer = MJRefreshAutoFooter(refreshingBlock:
                { () in
                    print("footer")
                    self.loadData()
                    self.collectionView?.footer.endRefreshing()
            })
        }
    }

     

    完!

    转载于:https://www.cnblogs.com/tonge/p/4974686.html

    展开全文
  • swift导入oc第三方

    千次阅读 2019-05-05 15:31:39
    swift导入oc第三方 前言 对于ios开发而言,目前很多第三方或者demo还是以oc为主,swift相关的资料很少,这篇文章就结合博主的开发实例对在swift工程中导入并使用oc版本的第三方进行阐述。 正文 1.编写oc桥接头...

    swift导入oc第三方库

    前言

    对于ios开发而言,目前很多第三方库或者demo还是以oc为主,swift相关的资料很少,这篇文章就结合博主的开发实例对在swift工程中导入并使用oc版本的第三方库进行阐述。

    正文

    1.编写oc桥接头文件

    顾名思义,将oc编写的库桥接到swift工程里的头文件。
    结合实战,首先我在项目工程的根目录下创建一个名为xxxx.h的.h文件,内容如下,暂时不去修改:

    #ifndef xxxx_h
    #define xxxx_h
    #endif 
    

    接着,在项目的targets里的Build Settings选项里,找到Objective-c Bridging Header选项:

    在这里插入图片描述
    将这一项设置为刚刚创建的.h文件,如“xxxx.h”

    2.导入第三方库

    做完第一步,准备工作就已经做好了,接下来也很简单。我在这里分两种情况进行阐述。
    (1)framework形式导入的第三方库:
    例如集成支付宝的sdk(https://docs.open.alipay.com/204/105295/),导入后项目里会存在AlipaySDK.framework文件。这个时候在swift中,你还是不能直接引用支付宝相关的类和方法的,这个时候,我们在刚刚创建的桥接文件里,加上:

    #ifndef xxxx_h
    #define xxxx_h
    //导入支付宝的OC的头文件
    #import <AlipaySDK/AlipaySDK.h>
    #import <AlipaySDK/APayAuthInfo.h>
    #endif 
    

    然后你会发现,在代码里,你就可以正常调用支付宝SDK中的类和方法了,就这么简单。
    (2)直接拷贝的第三方库:
    例如第三方客服平台Udesk的集成(http://www.udesk.cn/doc/ios/udesksdk_ios/),按其要求手动将第三方工程文件导入你的项目中后,你的项目会存在如下的文件夹:

    此时,仍然需要在桥接文件里将你所需要用到的类文件导入,如:

    #ifndef xxxx_h
    #define xxxx_h
    //导入Udesk的OC的头文件
    #import "UdeskSDK/SDK/UdeskAgent.h"
    #import "UdeskSDK/SDK/UdeskCustomer.h"
    #import "UdeskSDK/SDK/UdeskManager.h"
    #import "UdeskSDK/SDK/UdeskMessage.h"
    #import "UdeskSDK/SDK/UdeskOrganization.h"
    #import "UdeskSDK/SDK/UdeskSetting.h"
    #import "UdeskSDK/UDChatMessage/Udesk.h"
    #endif 
    

    然后,在项目targets的general选项中,找到“Linked Frameworks and Libraries”,将第三方库中的.a文件添加进去:


    点击add other…之后选择.a文件即可。接下来你就可以在swift中调用第三方库的类和方法了。

    swift导入oc第三方库的方法就说到这,欢迎留言讨论~

    展开全文
  • swift开发过程中我们难免会使用一些OC的开源来附注项目开发。这就涉及到OCswift的混编了,正好本人最近也在模仿斗鱼直播的项目,自己也使用了OC的第三方,今天就给大家介绍一下自己的使用过程。 一、导入第...
  • OC调用Swift方法

    千次阅读 2018-05-02 15:36:48
    第一步:创建桥接文件第二步:配置桥接文件第三步:创建pch文件并配置其路径 第四步:在pch文件中导入如下头文件,注意:...,这里的xxx就是第二步中的Module name, 注意不要写错了 第五步:OC中直接调用Swift...
  • 之前在开发是遇到了在OC文件中调用Swift对象的变量调用不到的问题,这里总结一下: 1.首先我们一个Swift项目TestProject。 2.建立一个Swift的文件继承自NSObject名字为SwiftFile.swift,并声明一个字符串变量...
  • 最新一些学妹问起,所以抽点时间来写的,适合入门级别的swiftOC 混编 的程序猿。 本文章将从两个方向分别介绍 OCswift 混编 1. 第一个方向从 swift工程 中引入 oc类   1. 1 如何在swift的类中使用...
  • oc调用swift

    千次阅读 2015-11-14 18:05:06
    OC调用Swift 如果你想在Objective-C工程中,嵌入Swift文件,实现OC调用Swift,那么这篇文章就能帮助你,由于本人最近在开发Swift项目,所以实现过OC调用Swift,在这过程中遇到过一些瓶颈,特此,将此文奉上,供大家...
  • [Swift]1.在OC项目里的OC代码调用Swift方法,Swift代码里调用OC代码。2.在Swift项目里的Swift代码里调用OC代码,OC代码调用Swift方法。
  • 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 ...
  • iOS oc 调用 swift

    2019-07-03 07:14:24
    如股票oc调用swift里面的代码 需要包含固定这个头文件 项目名称 LiqunSwiftDemo-Swift.h #ProjectName#-Swift.h 固定的写法 swift 目的 是取代oc 但是 不会完全取代 只是前端的替换 LiqunSwiftDemo-Swift 点...
  • OCswift相互调用

    千次阅读 2017-04-26 11:39:33
    一、OC调用swift文件 二、swift调用OC文件 三、注意和总结 添加: 四、自定义桥接文件  一、OC调用swift文件  在OC项目中创建一个swift文件的时候,Xcode 会提示 需要创建一个桥接文件,点确定...
  • iOS ocswift相互调用

    2020-09-04 16:59:32
    oc调用swift 在需要调用swift的oc文件中引入“ProjectName-Swift.h” #import "ProjectName-Swift.h" 注意: 调用的swift类必须继承于NSObject, 不是继承自NSObject的类或是swift的结构体oc是无法调用的 swift...
  • 本文章将从两个方向分别... 1 如何在swift的类中使用oc类 1.2 如何在swift中实现oc的代理方法 1.3 如何在swift中实现oc的Block回调 2 二个方向从OC工程中引入swift类    2.1 如何在OC类中使用swift类 2.2 如何...
  • oc 调用 Swift 创建的单例 (Swift4)

    千次阅读 2018-10-17 17:00:45
    Swift创建了这样的一个单例 @objc open class Danli: NSObject { static let ... //在oc中这样写才能被调用 @objc open class func sharedInstance() -&amp;gt; Danli { return NFX.sw...
  • OCSwift混编Pod引入第三方的问题 问题描述:Swift应用OC 的开源框架,需要创建一个桥接头文件,问题就出在这个看似简单,却隐藏着一个巨大的问题:一切都按部就班的在桥接头文件中引入了OC 头文件,但是...
  • @OC调用Swift 方法 OC调用传多值参数Swift方法的处理 截止目前, Swift 已经达到4.2版本。有很多优秀的Swift库。有时需要OC和Swift混编。学习研究了一下FaceAware 人脸感知开源库。 Swift方法传多值参数及OC调用 ...
  • OC工程调用Swift方法

    万次阅读 2017-01-11 11:45:08
    1.建一个OC工程命名为SwiftOC 2.新建一个swfit文件命名为Test.swift,会弹出提示,选择Create Bridging Header建立桥接文件,系统会建立“工程名-Bridging-Header.h” 3.配置工程 设置Defines Module 为Yes ...
  • swiftOC混编(方法调用

    万次阅读 2016-02-12 10:35:31
    OC调用SwiftOC调用Swift方法比较简单。但是需要注意以下几点: 1.需要在当前OC类里导入xxx-Swift.h头文件,其中xxx为项目名称(与你的项目配置相关,具体配置方式见上一篇文章) 2.OC类里仅可以调用public的Swift...
1 2 3 4 5 ... 20
收藏数 9,323
精华内容 3,729
关键字:

oc 调用swift库