先列舉這個工程中用到的oc源碼庫:
- MBProgressHUD:半透明提示器,Loading動畫等
- SDWebImage:圖片下載和緩存的庫
- MJRefresh: 下拉刷新,上拉加載
- Alamofire.xcodeproj和SwiftyJSON.xcodeproj是Swift的庫,這篇博客主要記錄調用上面幾個oc的庫。
第一步:將oc的源碼庫拖入到我們的projec,如下圖。
第二步:新建一個頭文件,用於引用oc的庫。如下圖,選擇 object library 中的 頭文件,拖拽到project的根目錄。
注意頭文件名字的命名規范:項目名稱-Brdging-Header.h,如下圖。
第三步:新建完成后,使用#import來引用oc庫,如下圖。
第四步:該步驟比較重要,選擇 SexyGallery > Build Settings > 在搜索框輸入 "Swift Compiler" > 選擇 Objective-C Bridging Header > 鍵入剛才的文件名 SexyGallery-Bridging-Header.h > Command + s 保存即可。
導入成功后,接下來測試如何引用,下面以及調用MJRefresh庫為例,只要UIRefreshControl聲明變量能編譯能通過,就說明能正常調用,具體使用方法參見MJRefresh的相關文檔:
import UIKit class GalleryListViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout { let refreshControl = UIRefreshControl() //下拉刷新 @IBOutlet weak var collectionView: UICollectionView! override func viewDidLoad() { super.viewDidLoad() self.configureRefresh() } //設置下拉和上啦刷新 func configureRefresh(){ self.collectionView?.header = MJRefreshNormalHeader(refreshingBlock: { () in print("header") self.RefreshData() self.collectionView?.header.endRefreshing() }) self.collectionView?.footer = MJRefreshAutoFooter(refreshingBlock: { () in print("footer") self.loadData() self.collectionView?.footer.endRefreshing() }) } }
完!