博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Swift调用Objective C的FrameWork
阅读量:5923 次
发布时间:2019-06-19

本文共 1359 字,大约阅读时间需要 4 分钟。

很多Github的库经过很多年的发展,源码都是OC写的,,所以,用Swift调用OC的库就是开发中难免遇到的的一个问题,本文以AFNetworking为例,讲解如何跨语言调用。


第一步

创建一个空的工程 

注意,语言选择Swift 


第二步,创建bridging-header

这个文件的作用,就是把OC的接口暴露给Swift。有两种方式 

方式一 
创建一个OC文件,然后点击确定 
 
弹出是否要创建Bridging-Header,点击确定,这样会生成三个文件,其中的一个就是我们要用的SwiftUseAFNetworkingDemo-Bridging-Header.h 


方式二,创建任意头文件,然后在buildSetting里设置为bridging-header 

创建一个头文件,命名为bridge(任意) 
 
在build setting里设置 


第三步,安装库(要提前安装Cocoa Pod)

然后,我的习惯是用命令行来修改这个文件 

到工程的目录 
3.1初始化pod

pod init
  • 1

3.2 修改PodFile

vim Podfile
  • 1

然后修改成如图    3.3安装库  这里可能等的时间有点长,等着就是了

pod install

3.4 重新打开工程,注意,要打开Pod的工程 


第四步,在头文件中import


第五步,测试

完整代码

////  ViewController.swift//  SwiftUseAFNetworkingDemo// // Created by huangwenchen on 15/4/8. // Copyright (c) 2015年 huangwenchen. All rights reserved. // import UIKit class ViewController: UIViewController { lazy var manager:AFURLSessionManager = { var configuration = NSURLSessionConfiguration.defaultSessionConfiguration() var deaultmanager = AFURLSessionManager(sessionConfiguration: configuration); return deaultmanager; }() override func viewDidLoad() { super.viewDidLoad() var url = NSURL(string: "http://jsonplaceholder.typicode.com/posts") var request = NSURLRequest(URL: url!) var dataTask = manager.dataTaskWithRequest(request, completionHandler: { (response:NSURLResponse!, data:AnyObject!, error:NSError!) -> Void in NSLog("%@",data.description) }) dataTask.resume() } }

测试,库使用成功。

转载地址:http://uyivx.baihongyu.com/

你可能感兴趣的文章
理解JVM(二):垃圾收集算法
查看>>
多迪技术部带你看看什么叫程序员的桌面人生
查看>>
使用MLeaksFinder检测项目内存泄露总结
查看>>
一条咸鱼的校招之路
查看>>
SystemServer启动流程
查看>>
Regular进阶: 跨组件通信
查看>>
filter some
查看>>
手把手教你发布一个vue组件到npm上
查看>>
手写Node静态资源服务器
查看>>
CUDA版本稀疏矩阵向量乘
查看>>
JavaSE基础:枚举类型
查看>>
Linux & Mac环境下Mysql5.7 第一次初始化重置密码
查看>>
人生就如一张物理试卷 纪念我那逝去的青春
查看>>
(译)函数式组件在Vue.js中的运用
查看>>
分布式理论(三) - 2PC协议
查看>>
chrome devtools使用进阶——Sources
查看>>
Swift 设置navigation左右两侧按钮
查看>>
linux之路(二)学会使用命令帮助
查看>>
扒一扒爱情公寓电影为什么那么渣
查看>>
从源码看React.PureComponent
查看>>