Мой контроллер основного представления (UITableViewController) будет иметь панель поиска, которая при нажатии вызывает контроллер поиска (также UITableViewController), который будет рисовать ячейки, идентичные основному. Мой метод tableview.cellfor был сбит с толку с удалением моей пользовательской ячейки (даже если идентификаторы были установлены правильно, а объекты построителя интерфейса имеют правильный класс), поэтому я использовал метод tableview.register для регистрации своих ячеек (даже если ячейки практически идентичны тем, что есть в контроллере основного вида, я сделал их другим классом и преобразовал их в конструкторе интерфейсов). Теперь я получаю сообщение об ошибке, что IBOutlets, которые я сделал в моих swift-файлах для ячеек табличного представления контроллера поиска, повреждены, и мои элементы ячеек установлены в ноль, любая помощь с этим?
Вот код UITableViewCell для поисковых ячеек
class SearchBeerTableViewCell: UITableViewCell {
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
@IBOutlet weak var beerNameLabel: UILabel!
@IBOutlet weak var beerDescriptionLabel: UILabel!
@IBOutlet weak var selectBeerButton: UIButton!
@IBAction func selectBeerButtonTapped(sender: UIButton) {
print("Button pressed")
}
func update (with beer: Beer) {
self.beerNameLabel.text = beer.name
self.beerNameLabel.adjustsFontSizeToFitWidth = true
self.beerDescriptionLabel.text = beer.toString()
}
}
и вот ячейка метода контроллера поиска для строки в
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
print("Am ajuns pana aici")
guard let cell = tableView.dequeueReusableCell(withIdentifier: "searchBeerCell", for: indexPath) as? SearchBeerTableViewCell else {
fatalError("Could not dequeue cell!")
}
cell.update(with: beers[indexPath.row])
cell.selectBeerButton.tag = indexPath.item
// Configure the cell...
return cell
}
Строка для регистрации ячейки была такой
self.tableView.register (SearchBeerTableViewCell.self, forCellReuseIdentifier: "searchBeerCell")