Last active
October 26, 2018 14:20
-
-
Save caquant/eeee66b7b8df447c4ea06b8ab8c1116a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import UIKit | |
struct Quote: Decodable { | |
let symbol: String | |
let companyName: String | |
let primaryExchange: String | |
let sector: String | |
let calculationPrice: String | |
let open: Double | |
let openTime: Int | |
let close: Double | |
let closeTime: Int | |
let high: Double | |
let low: Double | |
let latestPrice: Double | |
let latestSource: String | |
let latestTime: String | |
let latestUpdate: Int | |
let latestVolume: Double | |
let iexRealtimePrice: Double | |
let iexRealtimeSize: Double | |
let iexLastUpdated: Int | |
let delayedPrice: Double | |
let delayedPriceTime: Int | |
let extendedPrice: Double | |
let extendedChange: Double | |
let extendedChangePercent: Double | |
let extendedPriceTime: Int | |
let previousClose: Double | |
let change: Double | |
let changePercent: Double | |
let iexMarketPercent: Double | |
let iexVolume: Double | |
let avgTotalVolume: Double | |
let iexBidPrice: Double | |
let iexBidSize: Double | |
let iexAskPrice: Double | |
let iexAskSize: Double | |
let marketCap: Double | |
let peRatio: Double | |
let week52High: Double | |
let week52Low: Double | |
let ytdChange: Double | |
} | |
let data = try! Data(contentsOf: URL(string:"https://api.iextrading.com/1.0/stock/market/batch?symbols=aapl,fb&types=quote")!) | |
let response = try JSONDecoder().decode([String:[String: Quote]].self,from: data) | |
let apple = response["AAPL"] | |
let appleQuote = apple!["quote"] | |
print(appleQuote!) | |
// ## With URLSession | |
let session = URLSession.shared | |
let dataTask = session.dataTask(with: url) { (data, response, error) in | |
guard let data = data, error == nil else { return } | |
let response = try! JSONDecoder().decode([String:[String: Quote]].self,from: data) | |
let apple = response["FB"] | |
let appleQuote = apple!["quote"] | |
print(appleQuote!) | |
} | |
dataTask.resume() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment