测试已测试 | ✗ |
Lang语言 | SwiftSwift |
许可 | MIT |
Released最后发布 | 2016年12月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由Christopher Rung维护。
这是一个跨平台的 CocoaPod,可以从 WMATA 的 API 中获取信息,并将其存储在 Train
对象中,这些对象模仿了 API 的 AIMPredictionTrainInfo 对象。
WMATAFetcher 通过 CocoaPods 提供。要安装它,请将以下内容添加到您的 Podfile
target 'TargetName' do
pod 'WMATAFetcher'
end
接下来,在终端中运行以下命令
$ pod install
首先,创建一个新的 WMATAFetcher
对象,传递您的 WMATA API 密钥
var wmataFetcher = WMATAFetcher(WMATA_API_KEY: "[YOUR_WMATA_KEY]")
isSpaceInTrainArray
BOOL
决定了是否在 Station.Space
对象的 Train
数组中分隔每个组(默认:true
)。
在实例化新的 WMATAFetcher
对象时可以初始化此值
var wmataFetcher = WMATAFetcher(WMATA_API_KEY: "[YOUR_WMATA_KEY]", isSpaceInTrainArray: false)
您还可以直接更改 isSpaceInTrainArray
的值
wmataFetcher.isSpaceInTrainArray = false
将车站代码传递给 wmataFetcher.getStationPredictions
来获取预测。实现 onCompleted
处理返回的 TrainResponse
。
如果 trainResponse.errorCode
是 nil
,我们可以安全地强制取消包装 trainResponse.trains?
。
let wmataFetcher = WMATAFetcher(WMATA_API_KEY: "[API KEY HERE]")
let metroCenterStationCode = Station(description: "Metro Center")!.rawValue
wmataFetcher.getStationPredictions(stationCode: metroCenterStationCode, onCompleted: {
trainResponse in
if trainResponse.errorCode == nil {
for train in trainResponse.trains! {
print(train.debugDescription);
}
} else {
switch trainResponse.errorCode! {
case -1009:
print("Internet connection is offline")
default:
print("Prediction fetch failed (Code: \(trainResponse.errorCode!))")
}
})
TrainResponse.errorCode
是一个表示由 WMATA 的 API 返回的 HTTP 状态码 的 Int?
。如果它是 nil
,则获取操作成功。最常见错误代码包括
Pod
的灵感来源WMATAFetcher在MIT许可证下可用。更多信息请参阅LICENSE文件。