Swift调用Objective C的FrameWork
很多Github的庫經(jīng)過很多年的發(fā)展,源碼都是OC寫的,,所以,用Swift調(diào)用OC的庫就是開發(fā)中難免遇到的的一個(gè)問題,本文以AFNetworking為例,講解如何跨語言調(diào)用。
第一步
創(chuàng)建一個(gè)空的工程?
注意,語言選擇Swift?
第二步,創(chuàng)建bridging-header
這個(gè)文件的作用,就是把OC的接口暴露給Swift。有兩種方式?
方式一?
創(chuàng)建一個(gè)OC文件,然后點(diǎn)擊確定?
?
彈出是否要?jiǎng)?chuàng)建Bridging-Header,點(diǎn)擊確定,這樣會生成三個(gè)文件,其中的一個(gè)就是我們要用的SwiftUseAFNetworkingDemo-Bridging-Header.h?
方式二,創(chuàng)建任意頭文件,然后在buildSetting里設(shè)置為bridging-header?
創(chuàng)建一個(gè)頭文件,命名為bridge(任意)?
?
在build setting里設(shè)置?
第三步,安裝庫(要提前安裝Cocoa Pod)
然后,我的習(xí)慣是用命令行來修改這個(gè)文件?
到工程的目錄?
3.1初始化pod
- 1
3.2 修改PodFile
vim Podfile- 1
然后修改成如圖? ? 3.3安裝庫? 這里可能等的時(shí)間有點(diǎn)長,等著就是了
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() } }測試,庫使用成功。
轉(zhuǎn)載于:https://www.cnblogs.com/Free-Thinker/p/4966879.html
總結(jié)
以上是生活随笔為你收集整理的Swift调用Objective C的FrameWork的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 时刻获取浏览器宽度
- 下一篇: 各种数据结构性能的比较