5. ExSwiftExSwift是一组Swift语言对标准类型和类的扩展。

代码示例: 迭代 - each (eachFunction each: (Key, Value) -> ())
- let dictionary = ["A": 1, "B": 2, "C": 3]
- dictionary.each { key, value in println(key, value) }
-
-
-
-
6. SwiftTask SwiftTask是使用Swift语言编写的状态机,拥有许多和他人创建的业务工作流任务的用例,综合了Promise + progress + pause + cancel,使用SwiftState(状态机)。 
代码示例: 基本定义 -
- let task = Task<Float, String, NSError> { (progress, fulfill, reject, configure) in
- player.doSomethingWithProgress({ (progressValue: Float) in
- progress(progressValue)
- }, completion: { (value: NSData?, error: NSError?) in
- if error == nil {
- fulfill("OK")
- }
- else {
- reject(error)
- }
- })
-
- configure.pause = { [weak player] in
- if let p = player { p.pause() }
- }
- configure.resume = { [weak player] in
- if let p = player { p.resume() }
- }
- configure.cancel = { [weak player] in
- if let p = player { p.cancel() }
- }
- }
-
- task.then { (value: String) -> Void in
-
- }.catch { (error: NSError?, isCancelled: Bool) -> Void in
-
- }
-
- task.pause()
- task.resume()
- task.cancel()
7. HanekeSwift Haneke是一款使用Swift语言编写的,轻量级的iOS通用缓存。它为UIImage、NSData、JSON和String提供记忆和LRU磁盘缓存或其他像数据可以读取或写入的任何其他类型。特别地是,Haneke更擅长处理图像。使用要求:iOS 8.0+、Xcode 6.0。

代码示例: 还可创建自己的缓存 - let cache = Haneke.sharedDataCache
- cache.set(value: data, key: "funny-games.mp4")
-
- cache.fetch(key: "funny-games.mp4").onSuccess { data in
-
- }
8. Cartography Cartography是用来声明Swift中的Auto Layout,无需输入任何stringly就可设置自己Auto Layout的约束声明。 
代码示例: 如何使用 - layout(view1, view2) { view1, view2 in
- view1.width == (view.superview!.width - 50) * 0.5
- view2.width == view1.width - 50
- view1.height == 40
- view2.height == view1.height
- view1.centerX == view.superview!.centerX
- view2.centerX == view1.centerX
- view1.top >= view.superview!.top + 20
- view2.top == view1.bottom + 20
- }
|