Swift调用Objective C的FrameWork
生活随笔
收集整理的這篇文章主要介紹了
Swift调用Objective C的FrameWork
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
很多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
- 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() } }測試,庫使用成功。
轉載于:https://www.cnblogs.com/Free-Thinker/p/4966879.html
總結
以上是生活随笔為你收集整理的Swift调用Objective C的FrameWork的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 时刻获取浏览器宽度
- 下一篇: 各种数据结构性能的比较