Please help me with filling table view cells with data from a dictionary. For instance, I have cell like so:
and for filling it with data I\'ve started with
I used a struct Rate to Reproduce your current Output
struct Rate {
var ask : Float?
var bid : Float?
static var shared = Rate()
mutating func initWithDictValues(_ currentRate : Rate) {
self.ask = currentRate.ask
self.bid = currentRate.bid
}
}
Currencies Array
/// Array Declaration
var currencies = [String:Any]()
/// Add Values
currencies = ["EUR":Rate(ask: 30.8500, bid: 30.8500),"USD":Rate(ask: 26.3000, bid: 26.3000),"RUB":Rate(ask: 0.4150, bid: 0.4150)]
Get All Keys in Separate Array so we can Dequeue cell Easily
var keysArray = Array(currencies.keys)
TableView Function
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "CurrencyCell", for: indexPath) as! CurrencyCell
/// Get CurrentKey
let currentKey = keysArray[indexPath.row]
let currentIndexKey : Rate = currencies[currentKey] as! Rate
/// Assign Values
cell.currencyLabel.text = currentKey
cell.askLabel.text = currentIndexKey.ask ?? 0
cell.bidLabel.text = currentIndexKey.bid ?? 0
return cell
}
Playground Output
Hope this helps