iOS開發:在Swift中調用oc庫

先列舉這個工程中用到的oc源碼庫: git

  • MBProgressHUD:半透明提示器,Loading動畫等
  • SDWebImage:圖片下載和緩存的庫
  • MJRefresh: 下拉刷新,上拉加載
  • Alamofire.xcodeproj和SwiftyJSON.xcodeproj是Swift的庫,這篇博客主要記錄調用上面幾個oc的庫。

 

第一步:將oc的源碼庫拖入到咱們的projec,以下圖。

 

第二步:新建一個頭文件,用於引用oc的庫。以下圖,選擇 object library 中的 頭文件,拖拽到project的根目錄。

 

注意頭文件名字的命名規範:項目名稱-Brdging-Header.h,以下圖。github

 

第三步:新建完成後,使用#import來引用oc庫,以下圖。

 

第四步:該步驟比較重要,選擇 SexyGallery > Build Settings > 在搜索框輸入 "Swift Compiler" >  選擇 Objective-C Bridging Header > 鍵入剛纔的文件名 SexyGallery-Bridging-Header.h > Command + s 保存便可。

 

導入成功後,接下來測試如何引用,下面以及調用MJRefresh庫爲例,只要UIRefreshControl聲明變量能編譯能經過,就說明能正常調用,具體使用方法參見MJRefresh的相關文檔: xcode

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

 

完!緩存

相關文章
相關標籤/搜索