你不容错过的Swift iOS开源项目
2016-12-09 阅读 4373


纵观Swift教程,从事的是软件开发的工作的你会发现讲解的比较广泛,且并未深入涉及软件开发代码学习和实现等。这里,为了让大家能够进一步了解Swift及让开发工作更容易上手,从几百个项目中选出了这几个不错的软件开发开源项目,希望可以为iOS开发者提供帮助。

1.Alamofire

Alamofire是一个使用Swift语言编写的HTTP网络库,支持各种 HTTP Method、JSON、文件上传、文件下载和多种认证方法,可以很简单的用于异步网络通信和业务流程链反应。使用要求:iOS开发软件 7.0+/Mac OS X 10.9+、Xcode 6.0。

 

代码示例:

响应处理

[cpp] view plaincopyprint?  

Alamofire.request(.GET, "http://httpbin.org/get", parameters: ["foo": "bar"])  

         .response { (request, response, data, error) in  

                     println(request)  

                     println(response)  

                     println(error)  

                   }  

2.Surge 

Surge是一个基于Accelerate框架和C语言开发,用于进行矩阵运算、数学信号处理和图像处理的API。换句话说,就是可以非常快速的处理数学、语音和图像信号。

 

代码示例:

用法

计算总和[Double]

[js] view plaincopyprint?  

import Surge  

let n = [1.0, 2.0, 3.0, 4.0, 5.0]  

let sum = Surge.sum(n) // 15.0  

计算乘积[Double]s 

[js] view plaincopyprint?  

import Surge  

let a = [1.0, 3.0, 5.0, 7.0]  

let b = [2.0, 4.0, 6.0, 8.0]  

let product = Surge.mul(a, b) // [2.0, 12.0, 30.0, 56.0]  

3.SwiftyJSON 

Swift对于软件开发类型有着非常严格的控制,所以在处理JSON时会很麻烦。而SwiftyJSON就是让在Swift语言中处理JSON数据变得更简单的开源类库。使用要求:iOS开发软件7.0+/Mac OS X 10.9+、Xcode 6.0。

 

代码示例:

Loop

[cpp] view plaincopyprint?  

//If json is .Dictionary   

for (key: String, subJson: JSON) in json {  

//Do something you want   

}  

 [js] view plaincopyprint?  

//If json is .Array   

//The `index` is 0..<json.count's string value   

for (index: String, subJson: JSON) in json {  

//Do something you want   

}  

4.Dollar.swift

Dollar是一个软件开发Swift库,无需扩展任何内置对象就为Swift语言提供有效的函数式编程辅助方法,类似于Lo-Dash或JavaScript中的Underscore。而Cent则是通过扩展功能来扩展Swift中的特定对象类型。

 

代码示例:

Dollar示例:Array

[cpp] view plaincopyprint?  

$.at(["ant", "bat", "cat", "dog", "egg"], indexes: 0, 2, 4)   

=> ["ant", "cat", "egg"]  

Cent示例:Date 

[cpp] view plaincopyprint?  

let date = Date.from(2014, 1, 1)   

=> "Jan 1, 2014, 12:00 AM"  

  

let parsedDate = Date.parse("2014-01-01", format: "yyyy-MM-dd")  

=> "Jan 1, 2014, 12:00 AM"  

  

let currentUnix = Date.unix()  

=> 1,412,829,874.07114  

  

var otherNSDate = Date()  

let otherUnix = Date.unix(otherDate)  

=> 1,412,829,938.92399  

5.HanekeSwift

Haneke是一款使用软件开发Swift语言编写的,轻量级的iOS通用缓存。它为UIImage、NSData、JSON和String提供记忆和LRU磁盘缓存或其他像数据可以读取或写入的任何其他类型。特别地是,Haneke更擅长处理图像。使用要求:iOS开发软件 8.0+、Xcode 6.0。

 

代码示例:

还可创建自己的缓存

[js] view plaincopyprint?  

let cache = Haneke.sharedDataCache  

cache.set(value: data, key: "funny-games.mp4")  

// Eventually...   

cache.fetch(key: "funny-games.mp4").onSuccess { data in  

    // Do something with data   

}