Objective-C 和 Swift 第三方庫使用

注1:文章寫於2016年9月,(swift 3.0、Xcode 8)不一樣版本可能不一樣,僅做參考。
注2:我的總結出的最好方式是使用cocoapods,沒有用過的請參看以前的文章。git

OC 第三方框架以 AFNetworking 3.1.0 爲例。
Swift 第三方框架 Alamofire 4.0.0 爲例。github

1、經過cocopods導入項目:

(1)搜索第三方庫
(2)建立Podfile文件
(3)編輯Podfile文件
(4)導入第三方庫到工程swift

一、第三方庫是swift庫,導入到swift項目。

用到的文件中須要:import Alamofiresegmentfault

二、第三方庫是swift庫,導入到OC項目。

不考慮xcode

三、第三方庫是OC庫,導入到swift項目。

用到的文件中須要:import AFNetworking框架

四、第三方庫是OC庫,導入到OC項目。

用到的文件中須要:#import "AFNetworking.h"測試

2、直接將文件粘貼到項目:

測試發現,有些第三方庫拖進swift項目目錄裏直接能夠用,好比IQKeyboardManagerSwift等。
若是第三方庫是swift,不須要import,直接可用;若是第三方庫是OC,在Bridge頭文件中添加。
緣由分析:https://segmentfault.com/q/10...ui

一、第三方庫是swift庫,粘貼到swift項目。

參考下面的A
(1)在項目目錄下使用git語句:git submodule add https://github.com/Alamofire/Alamofire.git
或者 去官網上下載下來將整個文件夾放到項目目錄下
(2)將下載到本地的文件夾中Alamofire.xcodeproj 文件拖到項目中去
(3)General->Embedded Binaries-> + -> iOS -> Add
在須要用到的swift文件中:import Alamofirespa

二、第三方庫是swift庫,粘貼到OC項目。

不考慮code

三、第三方庫是OC庫,粘貼到swift項目。

A. 添加庫方法
(1)在項目目錄下使用git語句:git submodule add https://github.com/AFNetworking/AFNetworking.git
或者 去官網上下載下來將整個文件夾放到項目目錄下
(2)將下載到本地的文件夾中AFNetworking.xcodeproj 文件拖到項目中去
(3)General->Embedded Binaries-> + -> iOS -> Add
圖片描述
在須要用到的swift文件中:import AFNetworking

B. 在A的基礎上(或者用cocoapods導入OC框架後),建立Bridge頭文件,這樣不須要每次寫impot就能夠整個項目使用。
(1)建立一個普通的頭文件,通常命名爲項目名-Bridge-Header.h
(2)在頭文件裏面編寫:

#ifndef Swift_test_Bridging_Header_h
#define Swift_test_Bridging_Header_h
 
#import <AFNetworking/AFNetworking.h>
 
#endif

(3)添加頭文件到Build Settings -> Objective-C Bridging Header

==>快捷方法:
新建一個OC文件,選擇自動建立頭文件,而後在頭文件裏面編寫 如上內容,刪除OC文件。
Build Settings -> Objective-C Bridging Header 會自動添加。
圖片描述

四、第三方庫是OC庫,粘貼到OC項目。

用到的文件中須要:#import "AFNetworking.h"

3、import時<>括號和""的區別

(1)在項目中導入庫或者類的時候常常看到" #import <庫名>" 或者 「#import '類名.h'" .(2)""表示從當前項目路徑開始尋找文件,若是找不到,則到系統(項目)中配置的頭文件路徑去找;(3)<>表示直接到系統(項目)中配置的頭文件路徑去找。

相關文章
相關標籤/搜索