Ошибка при заполнении таблицы ячейками:
Terminating app due to uncaught exception ‘NSInternalInconsistencyException’, reason: ‘Could not load NIB in bundle: ‘NSBundle </Users/irina/Library/Developer/CoreSimulator/Devices/F5DE087A-1131-48FD-AD2C-788E117A1AD9/data/Containers/Bundle/Application/D3AA195F-1D69-4551-B530-F32897B76355/FinalProjectExchangeRates.app> (loaded)’ with name ‘customCell’’
Мой джейсон:
{
"organizations": [
{
"title": "Universal Bank",
"cityId": "7oiylpmiow8iy1smadi",
"currencies": {
"EUR": {
"ask": "31.0500",
"bid": "30.6500"
},
"USD": {
"ask": "26.1300",
"bid": "26.0000"
}
}
},
Помогите, пожалуйста, правильно заполнить СегментедКонтрол во вьюконтроллере(мои кейсы это перечень банков и tableviewcell с данными валюта-курс покупки и продажи.
Это моя ТейблвьюСел:
class tableViewCell: UITableViewCell {
@IBOutlet weak var nameCurrency: UILabel!
@IBOutlet weak var exchangeRates: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
}
func configure(exchangeRate: Bank, index: Int) {
self.nameCurrency.text = exchangeRate.rates[index].name
self.exchangeRates.text = " \(exchangeRate.rates[index].ask) / \(exchangeRate.rates[index].bid)"
}
}
And ViewController with registered Cell:
class ExchangeViewController: UIViewController, UITableViewDelegate, UIScrollViewDelegate, UITableViewDataSource {
var zxc: Int!
private struct Constants {
static let exchangeTableViewCellId = "customCell"
}
var ratesSectionsArray = [Bank]()
@IBOutlet weak var tableView: UITableView!
@IBOutlet weak var segLabel: UISegmentedControl!
@IBAction func switchCustomBank(_ sender: UISegmentedControl) {
switch segLabel.selectedSegmentIndex {
case 0:
case 1:
case 2:
case 3:
default:
}
override func viewDidLoad() {
super.viewDidLoad()
let nib = UINib(nibName: Constants.exchangeTableViewCellId, bundle: nil)
tableView.register(nib, forCellReuseIdentifier: Constants.exchangeTableViewCellId)
zxc = 0
let baseUrlString = "http://resources.finance.ua/ru/public/currency-cash.json"
guard let url = URL(string: baseUrlString) else { return }
URLSession.shared.dataTask(with: url) {
(data, response, error) in
if let data = data {
do{
let json = try JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions.allowFragments)
guard let jsonDict = json as? [String: Any],
let organizationsArray = jsonDict["organizations"] as? [[String: Any]]
else {return}
for organization in organizationsArray{
guard let bank = Bank(json: organization)
else { continue }
self.ratesSectionsArray.append(bank)
}
DispatchQueue.main.async {
self.tableView.reloadData()
}
}
catch{
print("error")
}
}
}.resume()
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return ratesSectionsArray.count
}
public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: Constants.exchangeTableViewCellId, for: indexPath) as! tableViewCell
let exchangesRates = ratesSectionsArray[indexPath.row]
cell.configure(exchangeRate: exchangesRates, index: indexPath.row)
return cell
}
}