zoukankan      html  css  js  c++  java
  • 怎样在swift中使用cocoapods导入的第三方oc库

    假如你来到这里,说明你已经開始着手使用swift这门新语言了。

    就像Java有Maven一样。Objective-C也有自己的依赖管理工具cocoapods。

    可是因为swift才出来不久,眼下非常多cocoapods管理的第三方库依旧是由Objective-C编写的。

    为了可以在swift中使用这些类库。须要在Xcode中进行一些配置。


    如果你的项目是基于cocoapods的,而且是通过XX.xcworkspace打开的。(Xcode6以上)

    为了进行演示,如果导入的第三方库是MBProgressHUD

    以下解说怎样在swift中使用该类库。


    步骤一:创建头文件(该头文件是连接oc到swift的桥梁)

    在project navigator中右击项目,选择New File... -> iOS -> Source -> Header File,给文件命名后(头文件命名随意,如果为Bridging-Header.h)保存。


    步骤二:打开该文件,清空里面的内容,然后导入你想要的类库并保存。

    #import "MBProgressHUD.h"


    步骤三:

    进入到Build Settings,在搜索框中输入bridg。找到Objective-C Bridging Header。选项。把头文件的路径赋值给该选项。如图所看到的:



    步骤三:

    使用引用的代码,比方在viewDidLoad方法里加入显示运行进度框:

        override func viewDidLoad() {
            super.viewDidLoad()
            // Do any additional setup after loading the view, typically from a nib.
            // 如同pch一样。使用该类库无需在顶部导入该类库的头文件
            MBProgressHUD .showHUDAddedTo(self.view, animated: true)
        }

    执行效果例如以下:



    --------------------

    -----

    -----

    须要注意的是。假如不是通过cocoapods引入的类库。而是直接复制到项目中(Build Settings的Objective-C Bridging Header没有赋值过,Xcode会弹出例如以下对话框:



    选择Yes后。项目的根文件夹下会自己主动创建一个名字为XXX-Bridging-Header.h的头文件(XXX为你的模块名(module name)一般就是你的product name)。

    另外在Build Settings的Objective-C Header File的值也被自己主动设成头文件的路径。

    如图所看到的:



    仅仅要在自己主动生成的头文件中import你想要的第三方类库后。就能够任意在你的项目源文件中使用它了。


    [reference Using Swift with Cocoa and Objective-C ]


    注:以上截图来源于Xcode6 beta版本号。在终于正式版公布之前,该截图的内容可能会发生改变。

  • 相关阅读:
    tableView滑动时cell消失
    收集别人写的很好的关于多线程的文章
    scroll或是其子类被添加进view时,界面自动上移
    runtime之实现对象序列化
    runtime之方法的交换
    升级mac中的系统之后,给PHP安装扩展常出现问题
    ubuntu下搭建Scrapy框架简单办法
    CuDA的快速下载链接
    windows下Scrapy爬虫框架环境搭建
    windows下安装pywin32报错:close failed in file object destructor:sys.excepthook is missing lost sys.stderr
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/5055336.html
Copyright © 2011-2022 走看看