• 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

    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()
        }
    }
    

    测试,库使用成功。

  • 相关阅读:
    朴素贝叶斯小结
    Logistic回归小结
    线性回归小结
    Zabbix使用采坑记录
    cookie与session测试关注点
    JMeter笔记十二:逻辑控制器之事务控制器、模块控制器和吞吐量控制器
    JMeter笔记十一:逻辑控制器之随机控制器、随机顺序控制器和交替控制器
    JMeter笔记十:逻辑控制器之ForEach控制器
    JMeter笔记九:逻辑控制器之循环控制器、While控制器
    JMeter笔记八:逻辑控制器之如果(If)控制器、仅一次控制器、Switch控制器
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/4966879.html
Copyright © 2020-2023  润新知