2016-02-09 6 views
1

Я хочу выполнить одну строку кода, когда пользователь выбирает ячейку в моем TableView. Во время выполнения мой TableView заполняет данные в порядке, и ячейки действительно доступны для кликов/выбора. Но, когда ячейка выбрана, метод 'didSelectRowAtIndexPath пропускается/не вызывается. Я новичок в Swift, поэтому, возможно, я пропустил что-то очень простое. Структура моего кода выглядит следующим образом:iOS Swift didSelectRowAtIndexPath не работает

import UIKit 

class TopicsViewController: UIViewController, UITableViewDataSource, UITableViewDelegate { 

//Number of Sections: 
func numberOfSectionsInTableView(tableView: UITableView) -> Int { return 2 } 

//Number of Rows in Each Section: 
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) ->Int { return 3 } 

//Contents of Each Cell: 
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    var cell = UITableViewCell() 
    cell.textLabel?.text = "Data" 
} 

//Code below is skipped/ignored at runtime, no matter what I try: 
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
print("Hello!") 
} 

Примечания: Я не использую жест распознаватель (другие темы по этому вопросу предложить контроллер жеста может быть виновником)

+0

Вы возвращаете ячейку внутри cellForRowAtIndexPath? –

+5

Является ли представление таблицы добавленным программным способом или в раскадровке? Programmatically/Storyboard: 'tableView.delegate = self' или в раскадровке проверить, был ли установлен делегат. – Eendje

+2

Соединились ли вы с таблицами 'dataSource' * AND *' delegate' на контроллере просмотра? Похоже, что методы, которые работают, являются «dataSource», а тот, который не является «делегатом» – EmilioPelaez

ответ

0

ли вы назначить «делегат «из таблицы?

Смежные вопросы