Возникли проблемы с didSelectRowAtIndexPath - PullRequest
0 голосов
/ 02 марта 2019

В данный момент я работаю со столами, и моя цель - в конечном итоге иметь возможность щелкнуть по столу и пойти куда-нибудь.Тем не менее, я не могу заставить работать didSelectRowAtIndexPath.Таблица отображается правильно, но при ее выборе ничего не происходит:

class thirdController: UIViewController, UITableViewDelegate, 
    UITableViewDataSource {
    let theData: [String] = ["Dogs", "Cats", "Sheep", "Snakes"]
    let cellReuseIdentifier = "cell"
    @IBOutlet weak var tableView: UITableView!
    override func viewDidLoad() {
        super.viewDidLoad()

        tableView.frame = CGRect(x: 0, y: 250, width: UIScreen.main.bounds.size.width, height: UIScreen.main.bounds.size.height-600)
        tableView.delegate = self
        tableView.dataSource = self
        tableView.register(UITableViewCell.self, forCellReuseIdentifier: cellReuseIdentifier)

        self.view.addSubview(tableView)
    }

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return theData.count
    }

    internal func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell:UITableViewCell = tableView.dequeueReusableCell(withIdentifier: cellReuseIdentifier) as UITableViewCell!
        cell.textLabel?.text = theData[indexPath.row]
        return cell
    }

    // ERROR: This isn't working!
    private func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        print("You tapped cell number \(indexPath.row).")
    }

    @IBAction func takeMeBack(_ sender: Any) {
        let myAlert =  UIAlertController(title: "Heading back home!", message: "Wanna go back?", preferredStyle: UIAlertController.Style.alert)
        let nah = UIAlertAction(title: "I'll stay here!", style: UIAlertAction.Style.default, handler: nil)
        let alright = UIAlertAction(title: "Get me out!", style: UIAlertAction.Style.default, handler: {_ in self.performSegue(withIdentifier: "goBackHome", sender: nil)})
        myAlert.addAction(nah)
        myAlert.addAction(alright)
        present(myAlert, animated: true, completion: nil)
    }
}

Я использую Swift 4 и не уверен, что не так.Есть идеи?

1 Ответ

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

Удалите ключевое слово private из функции.И читать это

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