Правильный способ идентифицировать статические ячейки в XCode? - PullRequest
1 голос
/ 20 марта 2019

У меня есть контроллер табличного представления, и я переопределил эту функцию:

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

    // Configure the cell...

    return cell
    }

Мой идентификатор ячейки myCell.Я создал 4 статических ячейки, вошел в каждую ячейку и дал каждому идентификатор myCell.Однако это происходит из-за неопознания идентификатора ячейки.Однако, если я перехожу на динамические прототипы, присваиваю ячейке идентификатор myCell, он работает как задумано.Я думаю, что это будет делать пока ... так как я могу просто динамически сказать, сколько я хочу клеток.Но мне действительно интересно узнать, почему мои статические ячейки не работают точно так же.Есть идеи?

1 Ответ

0 голосов
/ 20 марта 2019

Если у вас есть статические ячейки (т. Е. Небольшой фиксированный набор статических ячеек, а не динамические ячейки с прототипами ячеек, где вы контролируете, сколько типов ячеек будет динамически генерироваться), вам не следует реализовывать какие-либо из UITableViewDataSource методы. Просто создайте IBOutlet ссылки для различных элементов управления, которые есть в ваших статических ячейках, и обновите их, как если бы вы вообще не использовали UITableView.


Кроме того, если бы вы использовали динамические ячейки, вы бы никогда не дали двум разным прототипам ячеек один и тот же идентификатор повторного использования. Цель идентификатора повторного использования состоит в том, чтобы сообщить ему, какой прототип ячейки использовать, и поэтому не имеет смысла давать нескольким прототипам ячеек один и тот же идентификатор.

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