很多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安装库  这里可能等的时间有点长,等着就是了
  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() } } 测试,库使用成功。