У меня есть универсальный метод, который принимает массив UITableviewCells для регистрации для tableView.Когда я пытаюсь зарегистрироваться, выдается следующее сообщение об ошибке
Невозможно вызвать 'register' со списком аргументов типа '(nibs: [UITableViewCell.Type])'
Все ячейки UITableview, которые я пытаюсь зарегистрировать, соответствуют протоколу с именем ReusableCell
Протокол работает следующим образом:
protocol ReusableCell: class { static var identifier: String { get }}
extension ReusableCell where Self: UIView {
static var identifier: String {
return String(describing: self)
}
}
Общий метод выглядит следующим образом:
extension UITableView {
func register<T: UITableViewCell>(nibs: [T.Type]) where T: ReusableCell {
nibs.forEach { register($0.self, cellName: $0.identifier) }
}
}
Моя реализация выглядит следующим образом:
class CellOne: UITableViewCell, ReusableCell {}
class CellTwo: UITableViewCell, ReusableCell {}
tableView.register(nibs: [CellOne.self, CellTwo.self])
- Эта строка всплываетошибка 'Не удается вызвать' register 'со списком аргументов типа' (nibs: [UITableViewCell.Type]) ''
--- Edited ---
Но одна и та же функция не выдает никакой ошибки, если обе ячейки принадлежат одному и тому же классу
tableView.register(nibs: [CellOne.self, CellOne.self])
Чего мне здесь не хватает?Любая помощь будет высоко ценится
Заранее спасибо.