Свифт, табличное представление не заполняется - PullRequest
2 голосов
/ 20 января 2020

Я новичок в Swift и уже пару дней работаю над приложением. Сейчас я пытаюсь заполнить свой стол, но по какой-то причине он остается пустым. Я проверил, поступают ли мои данные (выполняя распечатку моих напитков в функции updateUi), и кажется, что так оно и есть, но мое мнение просто не заполняется. Кто-нибудь знает, что может быть не так?

Большое спасибо!

import UIKit

class SearchResultsTableViewController: UITableViewController {
  let cocktailController = CocktailController()
  var drinks = [Drink]()
  var drink: String!

      override func viewDidLoad() {
          super.viewDidLoad()
          title = drink.capitalized
          cocktailController.fetchDrinks(forDrink: drink)
          { (drinks) in
              if let drinks = drinks {
                  self.updateUI(with: drinks)
              }
          }
      }

    func updateUI(with drinks: [Drink]) {
          DispatchQueue.main.async {
              self.drinks = drinks
              self.tableView.reloadData()
          }
    }

  override func numberOfSections(in tableView: UITableView) -> Int {
      // #warning Incomplete implementation, return the number of sections
      return drinks.count
  }

  override func tableView(_ tableView: UITableView, cellForRowAt
  indexPath: IndexPath) -> UITableViewCell {
      let cell = tableView.dequeueReusableCell(withIdentifier:
  "DrinkCellIdentifier", for: indexPath)
      configure(cell, forItemAt: indexPath)
      return cell
  }

  func configure(_ cell: UITableViewCell, forItemAt indexPath:
  IndexPath) {
      let drinkItem = drinks[indexPath.row]
      cell.textLabel?.text = drinkItem.strDrink

  }
}

1 Ответ

0 голосов
/ 20 января 2020

Вместо числа разделов вы должны использовать количество строк в разделе, чтобы получить количество строк в табличном представлении.

func tableView(_ tableView: UITableView,  numberOfRowsInSection 
section: Int) -> Int {
return drinks.count
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...