ExType
易于使用的类型额外功能库。
安装
-
使用源代码,下载源并将其拖放到您的项目中。
-
使用 CocoaPods,在 Podfile 中写入一行代码
pod 'ExType'
构建器
- 扩展 -- Int
从字符串类型初始化
init(string: String)
从十六进制字符串初始化
init(hex: String)
- 扩展 -- Float
从字符串类型初始化
init(string: String)
- 扩展 -- Double
从字符串类型初始化
init(string: String)
辅助器
- 扩展 -- Int
中文字符串描述,使用 '亿,万,千' 字符
var chineseDescription: String
- 扩展 -- 可比较的
设置介于最小和最大数值之间的数值。若其小于最小值,则将重置为最小值;若大于最大值,则设置为最大值
变异函数 limit(_ min: Self, _ max: Self)
函数 limited(_ min: Self, _ max: Self) -> Self
- 扩展 -- 范围
初始值从边界数字开始,关于包含或不包含边界。
init(incStart: 边界, incEnd: 边界)
init(incStart: 边界, excEnd: 边界)
init(excStart: 边界, incEnd: 边界)
init(excStart: 边界, excEnd: 边界)
- 函数
在代码块中设置一个对象。
func ex_set<T>(_ item: T, _ action: (T) -> Void) -> T
例如
let view = ex_set(UIView()){
$0.backgroundColor = UIColor.red
$0.frame = CGRect(x:0, y:0, width:100, height:100)
}
MD5
这是从网页上复制来的源代码
此文件的版权属于Paul Johnston
你可以在http://pajhome.org.uk/crypt/md5中找到原始代码
随机数
- 函数
获取下限和上限之间的随机数。
func ex_random<T: FixedWidthInteger>(lower: T = T.min, upper: T = T.max) -> T
数组和
- 扩展 -- 数组和
获取数组中索引处的可选值。数组索引的数量不是可选的,如果该值不存在,将会引发异常。在这个函数中,使用可选结果来代替异常。
func value(at index: Int) -> Element?
在数组中获取随机列表。如果"count"参数小于数组中的计数值,将获取数组中的所有值。
func randomList(count: Int) -> [Element]
通过数组构建字典。
func buildDictionary<Key, Value>(toDict combiner: (Element) -> (Key, Value)) -> [Key: Value]
- 函数
获取通过步幅的数组。与swift基础库中的步幅函数不同,此步幅函数可以将数字分成多个部分。
func ex_stride(from: Double, to toValue: Double, numberOfParts: Double) -> [Double]
func ex_stride(from: Int, to toValue: Int, numberOfParts: Int) -> [Int]
字典(词典)
- 扩展 -- 字典(词典)
将当前字典转换为另一个类似于map函数的字典。
func map<K, V>(_ converter: (Key, Value) -> (K, V)?) -> [K: V]
获取字典的json字符串。
var json: String?
- 函数
将json字符串转换为字典。
func ex_json(text: String) -> [String: Any]?
- 扩展 - String
获取当前字符串的md5字符串
var md5: String
获取当前字符串的base64编码字符串
var base64Encoded: String?
获取base64解码后的字符串
var base64Decoded: String?
将当前字符串作为正则表达式来解析文本并获取匹配结果。
func regexMatch(text: String) -> [String]?
属性 - 获取去除首尾空白的字符串
var trimed : String
获取偏移量的索引
func index(of offset: Int) -> String.Index
通过整数范围获取子字符串
subscript(_ range: Range<Int>) -> String
从字符串中获取JSON字典
var dict:[String: Any]?
除字符串
func apart2(_ s:String) -> (String, String)?
func apart3(_ s:String) -> (String, String, String)?
func apart4(_ s:String) -> (String, String, String, String)?
func apart5(_ s:String) -> (String, String, String, String, String)?
func apart6(_ s:String) -> (String, String, String, String, String, String)?
- 函数
生成一个UUID字符串
func ex_uuid() -> String
FilePath
- 类 - ExFilePath
属性 - 路径的完整字符串
var fullPath: String
使用路径的完整字符串进行初始化
init(_ fullPath: String)
使用路径的url进行初始化
init?(_ url: URL)
路径类型的枚举
enum PathType {
case file
case directory
}
属性 - 路径类型
var pathType: PathType
列出当前路径的子路径,使用递归深度列出。
func listSubPaths(recurison: Bool = false) -> [ExFilePath]
创建一个字典
static func createPath(path: String) -> Bool
删除一个字典或文件
static func removePath(path: String) -> Bool
应用程序的主字典
static var home: ExFilePath
应用程序的文档字典
static var documents: ExFilePath
应用程序的库字典
static var library: ExFilePath
应用程序的bundle字典
static var bundle: ExFilePath
列表路径组件
var pathComponents: [String]
获取路径扩展名
var pathExtension: String
获取路径的最后一个组件
var lastPathComponent: String
获取路径的最后一个主体部分,例如:/AA/BB/CC.txt,路径的最后一个主体部分是CC
var lastPathMainbody: String
在路径末尾添加组件。
func addComponent(string: String)
func addComponented(string: String) -> String
- 函数
使用字符串生成url。
func ex_url(_ string: String) -> URL?
UIType
用户界面的几种类型
- 扩展 - UIFont
通过文本创建 UIFont 实例
init?(text: String)
将 UIFont 实例转换为文本
var text: String
- 扩展 - CGRect
通过文本创建 CGRect 实例
init?(text: String)
将 CGRect 实例转换为文本
var text: String
- 扩展 - CGPoint
通过文本创建 CGPoint 实例
init?(text: String)
将 CGPoint 实例转换为文本
var text: String
- 扩展 - CGSize
通过文本创建 CGSize 实例
init?(text: String)
将 CGSize 实例转换为文本
var text: String
- 扩展 - CGAffineTransform
通过文本创建 CGAffineTransform 实例
init?(text: String)
将 CGAffineTransform 实例转换为文本
var text: String
作者
王媛鸥
2018-07-26