2014-12-13 1 views
0

Я начал изучать разработку приложений в Swift в последнее время, и я все еще довольно новичок. Я пытаюсь сделать приложение, где на главном экране пользователь нажмет кнопку с именем профили, и он отобразит список имен в tableViewController. Когда пользователь нажимает имя, он откроет профиль человека в viewController.Быстрый выбор строк в TableViewController и открытие ViewController

Я до сих пор придерживаюсь того, какой метод и что кодировать в этом методе, чтобы позволить пользователю щелкнуть по списку имен в моем TableViewController, а затем открыть viewController для этого человека. Я уже создал свой другой viewController (DetailsViewController) и создал сеанс между TableViewController и DetailsViewController.

Я долго искал, как это сделать, но не смог найти удачи. Если бы кто-то мог просто указать мне в правильном направлении, это было бы здорово.

+0

Ваш вопрос оказался слишком широким. Там есть множество примеров, где это объясняется (конечно, нередко неоптимальными способами). –

ответ

1

Вы должны создать segue от ячейки до контроллера подробного представления. Чтобы предоставить подробный контроллер с данными, дайте ему свойство (например, name), которое вы можете установить в prepareForSegue, который вы переопределите в родительском контроллере.

override func prepareForSegue(segue: UIStoryboardSegue?, sender: AnyObject?) { 
    let cell = sender as UITableViewCell // or your cell subclass 
    let indexPath = self.tableView.indexPathForCell(cell) 
    let name = dataArray[indexPath.row] 
    // or something else depending on the structure of your data model 
    let controller = segue!.destinationViewController() as DetailViewController 
    controller.name = name 
} 

Контроллер подробного представления теперь может заполнить свое представление переданной информацией.

+0

Ваш ответ мне очень помог! Хотя я все еще немного запутался в отношении того, что конкретно для моего массива (dataArray). (Это говорит мне, что он не знает, что это такое.) Если я создам его внутри метода и использую его, он тогда говорит мне, что NSIndexPath не имеет члена с именем row. (Опять мне очень жаль, если ответ кажется очевидным) – videoperson

+0

'dataArray' - просто прокси-сервер для вашей собственной модели данных. Вы должны были хранить информацию, которую вы показываете в своей таблице, чтобы вы знали, что помещать в каждую строку на основе пути индекса. Используйте ту же логику через указательный путь для заполнения вашего подробного представления. – Mundi