iOS开发:在Swift中调用oc库

先列举这个工程中用到的oc源码库: 

  • MBProgressHUD:半透明提示器,Loading动画等
  • SDWebImage:图片下载和缓存的库
  • MJRefresh: 下拉刷新,上拉加载
  • Alamofire.xcodeproj和SwiftyJSON.xcodeproj是Swift的库,这篇博客主要记录调用上面几个oc的库。

 

第一步:将oc的源码库拖入到我们的projec,如下图。

iOS开发:在Swift中调用oc库_第1张图片

 

第二步:新建一个头文件,用于引用oc的库。如下图,选择 object library 中的 头文件,拖拽到project的根目录。

iOS开发:在Swift中调用oc库_第2张图片

 

注意头文件名字的命名规范:项目名称-Brdging-Header.h,如下图。

iOS开发:在Swift中调用oc库_第3张图片

 

第三步:新建完成后,使用#import来引用oc库,如下图。

iOS开发:在Swift中调用oc库_第4张图片

 

第四步:该步骤比较重要,选择 SexyGallery > Build Settings > 在搜索框输入 "Swift Compiler" >  选择 Objective-C Bridging Header > 键入刚才的文件名 SexyGallery-Bridging-Header.h > Command + s 保存即可。

iOS开发:在Swift中调用oc库_第5张图片

 

导入成功后,接下来测试如何引用,下面以及调用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()
        })
    }
}

 

完!

你可能感兴趣的:(iOS开发:在Swift中调用oc库)