func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true)
let order = orders[indexPath.row]
guard orders.count > indexPath.row else {
print("Index out of range")
return
}
let storyboard = UIStoryboard(name: "Main", bundle: nil)
var viewController = storyboard.instantiateViewController(withIdentifier: "viewControllerIdentifer") as! OrderDetailsController
viewController.passedValue = order.id
self.present(viewController, animated: true , completion: nil)
}
Всякий раз, когда я закрываю свое приложение (перехожу в фоновый режим) и снова открываю его, оно вылетает.
фатальная ошибка: индекс вне допустимого диапазона
2017-06-18 18:09:33.726310 JaeeDriver[1378:563304] фатальная ошибка: индекс вне допустимого диапазона
Я понятия не имею, почему он это делает. Важно отметить, что в ViewDidLoud
I есть эта строка кода для обновления моей таблицы
var timer = Timer.scheduledTimer(
timeInterval: 4,
target: self,
selector: "GetOrders",
userInfo: nil,
repeats: true
)
и всякий раз, когда происходит обновление, у меня есть этот код в начале функции GetOrders
func GetOrders (){
orders = []
...
}
удалить старые данные и заменить их новыми
Обновить
в конце GetOrder
func GetOrders (){
orders = []
....
....
DispatchQueue.main.async {
self.tableview.reloadData()
}
}
количество секций и рядов:
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return orders.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "OrderCell", for: indexPath) as! OrderCell
let entry = orders[indexPath.row]
cell.DateLab.text = entry.date
cell.shopNameLab.text = entry.shopname
cell.shopAddLab.text = entry.shopaddress
cell.nameClientLab.text = entry.clientName
cell.clientAddLab.text = entry.ClientAddress
cell.costLab.text = entry.Cost
cell.perefTimeLab.text = entry.PerferTime
cell.Shopimage.hnk_setImage(from: URL(string: entry.Logo))
return cell
}
Любая помощь, пожалуйста, будет оценена по достоинству.
tableView.reloadData()
всякий раз, когда ваш массивorders
изменяется. - person deadbeef   schedule 18.06.2017numberOfSections
иnumberOfRowsInSection
. - person rmaddy   schedule 18.06.2017