前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Swift 统一导入三方库

Swift 统一导入三方库

作者头像
韦弦zhy
发布2018-09-11 12:46:33
2K0
发布2018-09-11 12:46:33
举报
1、在用OC写代码时,我们使用PCH统一导入在绝大部分地方需要使用到的三方库和一些宏定义,比如导入网络请求,图片加载,然后设置屏幕尺寸,Debug之类的

test.pch

#ifndef PrefixHeader_pch
#define PrefixHeader_pch

//一些大部分类需要用的三方库
#import "AFNetworking.h"
#import "Masonry.h"
...

//debug
#ifdef DEBUG
#define ZHYLog(fmt,...) NSLog((@"\n方法: %s \n行号: %d \n打印信息:" fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
#else
#define ZHYLog(...)
#endif

//size
#define  ScreenH  [UIScreen mainScreen].bounds.size.height
#define  ScreenW  [UIScreen mainScreen].bounds.size.width
#define  ViewH self.view.height
#define  ViewW self.view.width


#endif

/* PrefixHeader_pch */
2、或者我们开始OC和Swift混编了,我们依然可以在xxx-Bridging-Header.h,中导入第三方框架到Swift中使用

此时在Swift中的宏定义那就只能找个文件直接let了,比如Const.swift之类的。

3、当单纯使用Swift写程序时。。。一直使用OC的我找不到怎么统一导入三方库。。。虽然说单独导入也有单独导入的好处。。。但是有时候还是想统一导入某一些库。。比如R.Swift,RxSwift之类在项目中各处都大量使用的库
导入方法一、

再要使用的类头部import

import Foundation
import MBProgressHUD
import Rswift

适合不常用的一些三方库

导入方法二、

自己在要导入的库上方再封装一层,就变成全局导入的了,比如 MBProgressHUD,先新建一个HUD.swift,然后在里面:

import Foundation
import MBProgressHUD

    ///弹窗加载提示
    class func show() {
       MBProgressHUD.showAdded(to: viewToShow(), animated: true)
    }
    
    ///隐藏所有弹窗
    class func hide() {
        MBProgressHUD.hide(for: viewToShow(), animated: true)   
    }

    ...

这样在需要使用的地方直接按如下示例使用就行,不需要单独导入了

HUD.show()
HUD.hide()
导入方法三、

某些自己无法轻松封装的,或者本来已经非常容易使用的库,但是又在项目中大量使用,如我我在项目用到了Then协议库,和R.swift本地资源加载库,很多地方都要用,每个地方都去导入又非常麻烦,那么可以使用@_exported import关键字导入,这样就可以全局通用了,比如我在我的Const.swift中:

import Foundation
import UIKit

@_exported import Hue
@_exported import RxSwift
@_exported import RxCocoa
@_exported import Rswift
@_exported import Then

/// RxSwift 回收池
let disposeBag = DisposeBag()
/// 屏幕高度
let zyScreenH = UIScreen.main.bounds.height
/// 屏幕宽度
let zyScreenW = UIScreen.main.bounds.width

这样使用就十分方便了

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.06.04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、在用OC写代码时,我们使用PCH统一导入在绝大部分地方需要使用到的三方库和一些宏定义,比如导入网络请求,图片加载,然后设置屏幕尺寸,Debug之类的
  • 2、或者我们开始OC和Swift混编了,我们依然可以在xxx-Bridging-Header.h,中导入第三方框架到Swift中使用
  • 3、当单纯使用Swift写程序时。。。一直使用OC的我找不到怎么统一导入三方库。。。虽然说单独导入也有单独导入的好处。。。但是有时候还是想统一导入某一些库。。比如R.Swift,RxSwift之类在项目中各处都大量使用的库
  • 导入方法一、
  • 导入方法二、
  • 导入方法三、
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档