原创Blog,转载请注明出处
blog.csdn.net/hello_hwc
前言:
最近在写博客的时候,Demo提供的都是OC的代码,对于Swift都有些生疏了,所以,最近可能会集中用Swift来提供Demo源码。
很多Github的库经过很多年的发展,源码都是OC写的,,所以,用Swift调用OC的库就是开发中难免遇到的的一个问题,本文以AFNetworking为例,讲解如何跨语言调用。
第一步创建一个空的工程
注意,语言选择Swift
这个文件的作用,就是把OC的接口暴露给Swift。有两种方式
方式一
创建一个OC文件,然后点击确定
d出是否要创建BrIDging-header,点击确定,这样会生成三个文件,其中的一个就是我们要用的SwiftUseAFNetworkingDemo-BrIDging-header.h
方式二,创建任意头文件,然后在buildSetting里设置为brIDging-header
创建一个头文件,命名为brIDge(任意)
在build setting里设置
然后,我的习惯是用命令行来修改这个文件
到工程的目录
3.1初始化pod
pod init
3.2 修改Podfile
vim Podfile
然后修改成如图
3.3安装库
这里可能等的时间有点长,等着就是了
pod install
3.4 重新打开工程,注意,要打开Pod的工程
完整代码
//// VIEwController.swift// SwiftUseAFNetworkingDemo//// Created by huangwenchen on 15/4/8.// copyright (c) 2015年 huangwenchen. All rights reserved.//import UIKitclass 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() }}
测试,库使用成功。
总结以上是内存溢出为你收集整理的Swift调用Objective C的FrameWork全部内容,希望文章能够帮你解决Swift调用Objective C的FrameWork所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)