Я использую UIAlertController в UITableView. Он возвращает значение nil около tableview.delegate = self. Здесь alertC - это функция, которая представляет предупреждение. Я вызываю эту функцию alertC из tableViewCell при нажатии кнопки.UIAlertController в UITableView возвращает nil
class AdminPlaces: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var tableView: UITableView!
private var placeNames = [String]()
override func viewDidLoad() {
super.viewDidLoad()
self.getDataFromFirebase {
self.tableView.delegate = self
self.tableView.dataSource = self
self.tableView.reloadData()
}
func alertC() {
let ac = UIAlertController(title: "Delete", message: "Are you sure to delete the place", preferredStyle: .alert)
let yesAction = UIAlertAction(title: "Yes", style: .default, handler: nil)
let noAction = UIAlertAction(title: "No", style: .cancel, handler: nil)
ac.addAction(yesAction)
ac.addAction(noAction)
self.present(ac, animated: true, completion: nil)
}
}
class AdminPlacesCell: UITableViewCell {
@IBOutlet weak var placeName: UILabel!
@IBOutlet weak var delete: UIButton!
@IBOutlet weak var edit: UIButton!
override func awakeFromNib() {
edit.alpha = 0
delete.alpha = 0
}
func configure(place: String) {
placeName.text = place
}
func showButtons() {
UIView.animate(withDuration: 0.5, delay: 0, options: .curveEaseIn, animations: {
self.edit.alpha = 1
self.delete.alpha = 1
}, completion: nil)
}
@IBAction func onEditClicked(_ sender: Any) {
}
@IBAction func onDeleteClicked(_ sender: Any) {
let adminPlaces = AdminPlaces()
adminPlaces.alertC()
}
}
Я не понимаю, в чем проблема. Почему он возвращает nil около tableView.delegate = self? Каков правильный путь todo?
Заранее спасибо
Пожалуйста, проверьте эту ссылку, поскольку она решила мою проблему. [link] (http://stackoverflow.com/a/34911172/6223683) –