zoukankan      html  css  js  c++  java
  • iOS开发:在Swift中调用oc库

    先列举这个工程中用到的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()
            })
        }
    }

    完!

  • 相关阅读:
    HashMap源码分析
    Vector和Stack源码分析/List集合的总结
    LinkedList源码分析
    ArrayList源码分析
    第三章 数据链路层(三)
    Java常考面试题(五)
    hibernate(一) 第一个hibernate工程
    回想过去,展望未来
    “Cannot load php5apache2_4.dll into server”问题的解决方法
    win7下80端口被(Pid=4)占用的解决方法
  • 原文地址:https://www.cnblogs.com/tonge/p/4974686.html
Copyright © 2011-2022 走看看