EZSwiftExtensions
Swift 标准类型和类应该如何工作。Swift 标准库、Foundation 和 UIKit 的有用扩展集合。
使用示例
轻松获取指定索引的 object
var myArray = ["charmander","bulbasaur","squirtle"]
print(myArray.get(1)) // "bulbasaur"
轻松访问随机元素
var myArray = ["charmander","bulbasaur","squirtle"]
print(myArray.random()) // bulbasaur or something else
轻松找到对象的索引
var myArray = ["charmander","bulbasaur","squirtle","charmander"]
print(myArray.indexesOf("charmander")) // [0,3]
轻松检查数组是否包含另一个数组
var myArray = ["charmander","bulbasaur","squirtle"]
print(myArray.containsArray(["charmander","bulbasaur"])) // true
print(myArray.containsArray(["string"])) // false
Block Objects 这些对象使用 completion blocks 而不是 selectors,来源于:CEMKit-Swift 轻松初始化 BlockButton
let button = BlockButton(x: 0, y: 0, w: 100, h: 100) { (sender) -> Void in
print("Block button clicked!")
}
let button1 = BlockButton(x: 0, y: 0, w: 100, h: 100)
button1.addAction { (sender) -> Void in
print("Block button clicked!")
}
// There are also BlockWebView, BlockTap, BlockPan, BlockSwipe, BlockPinch, BlockLongPress
轻松在类型之间转换
var myCGFloat = myInt.toCGFloat
var myString = myInt.toString
var myDouble = myString.toDouble
var myInt = myDouble.toInt
轻松切换
var myBool: Bool = true
print(myBool.toggle()) // false
轻松初始化对象
let myView = UIView(x: 0, y: 0, w: 100, h: 100)
print(myView.frame) // (0.0, 0.0, 100.0, 100.0)
轻松访问视图堆栈顶部的 ViewController
ez.topMostViewController?.presentViewController(myAlertController, animated: true, completion: nil)
// topMostViewController is your rootViewController
// Intended for showing small VCs like UIAlertControllerstring.length, string.capitalizefirst, string.trim, string.isemail,
轻松初始化颜色
let myColor = UIColor(r: 100, g: 100, b: 100) // Default alpha is 1
在延迟后轻松运行代码块
Timer.runThisAfterDelay(seconds: 2) { () -> () in
print("Prints this 2 seconds later in main queue")
}
每秒轻松运行代码
var count = 0
Timer.runThisEvery(seconds: 1) { (timer) -> Void in
print("Will print every second")
if count == 3 {
timer?.invalidate()
}
count += 1
}
轻松访问项目的版本和构建号
print(ez.appVersion) // 0.3
print(ez.appBuild) // 7
print(ez.appVersionAndBuild) // v0.3(7)
Easily track screen shots:
ez.detectScreenShot { () -> () in
print("User took a screen shot")
}
安装
手动(约10秒)
- 下载并将 '/Sources' 拖动到您的项目中。
- 恭喜!
通过 CocoaPods 安装(约10秒)
您可以通过将 CocoaPods 添加到您的 Podfile
中来安装 EZSwiftExtensions
。
platform :ios, '8.0'
use_frameworks!
pod 'EZSwiftExtensions' #Stable release for Swift 3.0
pod 'EZSwiftExtensions', :git => 'https://github.com/goktugyil/EZSwiftExtensions.git' #Latest release for Swift 3.0
pod 'EZSwiftExtensions', :git => 'https://github.com/goktugyil/EZSwiftExtensions.git', :branch => 'Swift2.3' #For Swift 2.3
pod 'EZSwiftExtensions', '~> 1.6' #For Swift 2.2
为了获取全部优势,在需要导入 UIKit 的地方导入 EZSwiftExtensions
。
import UIKit
import EZSwiftExtensions
通过 Carthage 安装
创建一个包含框架的 Cartfile
并运行 carthage bootstrap
。按照 说明 将 $(SRCROOT)/Carthage/Build/iOS/EZSwiftExtensions.framework
添加到 iOS 项目中。
github "goktugyil/EZSwiftExtensions"
要求
- Swift 2 或更高版本
可能的功能
- 更多扩展!如果您经常使用某个扩展,请现在发送 pull request!
- 在文档中使用精美的图片和 jpg。
- 在代码中包含文档。
- 在 README 中列出目录内容。
- 在源代码中完成
TODO
。 - OSX 兼容性,并在此处添加 https://github.com/AndrewSB/awesome-osx
使用的源
- ExSwift by pNre
- SKTUtils by raywenderlich
- CEMKit-Swift by cemolcay
- SwiftySwift by adeca
- 几何学 by artman
- Swift-Extensions by vitkuzmenko
- SwiftTweetGettr by jmenter
- 基础知识 by dennisweissmann
- 转换成数字 by Mamesoft
- RBResizer by hcatlin
和无数个片段和 Stack Overflow 答案。
许可证
EZSwiftExtensions 则在 MIT 许可下可用。请参阅许可证文件。
关键字
swift, 扩展, UIKit, exswift, Foundation, 库, 框架, 工具