Пустая табличная метка мигает секунду, если в моем массиве есть данные - PullRequest
0 голосов
/ 30 мая 2018

Привет! Я выполнил поиск переполнения стека и увидел Если нет результатов просмотра таблицы, на экране отобразится «Нет результатов» , что полезно, но не совсем то, что я ищу.Моя проблема, когда я следую этим шагам, это работает правильно.но если у моего табличного представления действительно есть данные, он мигнет "пустой ярлык табличного представления" в течение секунды или 2 прежде, чем заполнить мои данные.На мой взгляд, это выглядит ужасно.

У меня есть табличка, связанная через розетку в моем табличном представлении с именем emptyTableViewlbl.Это мой код, который вызывается. Заранее благодарен за любую помощь.Спасибо

extension FeedViewController: UITableViewDataSource, UITableViewDelegate {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

    if posts.isEmpty {
        emptyTableViewLbl.isHidden = false
        emptyTableViewLbl.text = "Empty tableview label"
        return 0
    } else {
        emptyTableViewLbl.isHidden = true
    }
    return posts.count

}

и попробовали

 override func viewDidLoad() {
    super.viewDidLoad()

    tableView.dataSource = self
    tableView.delegate = self
    loadPosts()

    if posts.isEmpty {
        emptyTableViewLbl.isHidden = false
        emptyTableViewLbl.text = "Empty"
    } else {
        emptyTableViewLbl.isHidden = true
    }

}

1 Ответ

0 голосов
/ 30 мая 2018

Вы можете использовать didSet для этого

предположим, что ваш массив равен

var posts:[Post] {
  didSet {
     if posts.isEmpty {
        emptyTableViewLbl.isHidden = false
    } else {
        emptyTableViewLbl.isHidden = true
        tableview.reloadData()
    }
    tableview.isHidden =  !emptyTableViewLbl.isHidden
  }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...