测试测试 | ✗ |
Lang语言 | SwiftSwift |
许可证 | MIT |
发布最新发布 | 2017年4月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由 Mohamed Arradi-Alaoui 维护。
YahooCurrencyApiWrapper 是一个从雅虎货币 API 简单封装数据的一个 API
A simple iOS Wrapper for the Yahoo Finance API that helping you
从 Yahoo Finance API 中获取两种货币之间的汇率
从多个货币相对于一个基准货币(例如EUR,GBP,AED)获取货币汇率(例如相对于美元的一笔请求)
获取过去几天的历史汇率(默认为USD)。
由于我非常想为一个金融项目使用货币转换,但我总是找不到股票交易所的API,而iOS中的任何一个对其都既不够简单也不够有用。
此库与 iOS 8 + 兼容,并使用 Swift 3.0 编写。
通过 CocoaPods
将以下依赖项添加到 podfile 中:
pod 'YahooCurrencyApiWrapper'
然后,运行以下命令:
$ pod install
货币汇率用例
let base : String = "USD"
let other : String = "EUR"
YahooCurrencyApiWrapper.sharedInstance.getAllCurrencyFrom(base: base, other: other) { (rate : Double, time : String?, error : NSError?) in
guard error == nil else {
let errorCode : Int = (error?.code)!
switch errorCode { case ErrorType.currencyNotFound.rawValue : print (“市场找不到货币”) case ErrorType.rateNotApplicable.rawValue : print (“汇率对该货币(其他)无效”) default : return } return }
// 一切正常,我们得到了汇率 print (“1(基准)= (rate) (其他)”) }
您可以从 Yahoo API 获取两种类型的错误(货币不存在或汇率未找到),
所有与 HTTP 响应相关的错误都处理为经典的 NSError 类型。
public enum ErrorType : Int { case rateNotApplicable = 999,currencyNotFound }
但这还不够,也许您想能够从多种货币中获取与相同基准货币的汇率!
为此,有一个专门的方法可以做到这一点
//create a list of currency as [String]
let others : [String] = ["EUR","GBP","DZD","AED"]
//Then pass it with your base
YahooCurrencyApiWrapper.sharedInstance.getCurrenciesRates(base: base, others: others) { (exchanges : [Exchange]?, error : NSError?) in
guard error == nil else { return}
exchanges?.forEach {
let item : Exchange = $0
print("1 \(item.from!) = \(item.rate!) \(item.to!)")
}
}
它将返回以下交易所对象列表,如果货币汇率不可用,则返回0.0值。
public class Exchange {
public var from : String?
public var to : String?
public var rate : Double?
历史汇率用例
YahooCurrencyApiWrapper.sharedInstance.getHistoricalCurrencies(currencyName: “GBP”, days: 7) { (items : [HistoricalItem]?, error : NSError?) in
guard error == nil else { return}
items?.forEach { let item : HistoricalItem = $0
打印("开盘价为(货币) = (item.openValue!),日期为(item.date)") } }
此方法返回一个item列表,用于描述每一天的(开盘、收盘、高价、低价)状态。
历史簿记项的结构如下
public struct HistoricalItem {
public var openValue : Double? public var highValue : Double? public var lowValue : Double? public var closeValue : Double? public var date : Date?
}
您可以在示例文件夹中的示例应用程序中查看如何使用它。
还有更多,但基本功能就在这里。
使用的许可协议是MIT。
Mohamed ARRADI-ALAOUI - [email protected]
如果您正在使用此库,并且认为可以实施某些特定工具,请随时告知我