码迷,mamicode.com
首页 > 移动开发 > 详细

iOS开发:在Swift中调用oc库

时间:2015-11-18 16:24:15      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:

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

  • MBProgressHUD:半透明提示器,Loading动画等
  • SDWebImage:图片下载和缓存的库
  • MJRefresh: 下拉刷新,上拉加载
  • Alamofire.xcodeproj和SwiftyJSON.xcodeproj是Swift的库,这篇博客主要记录调用上面4个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
import SwiftyJSON
import Alamofire

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库

标签:

原文地址:http://www.cnblogs.com/tonge/p/4974686.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!