Я использую XCode 6, ориентируясь на iOS 8 и кодируя это в Swift.Segue не выполняется iOS8
Мои контроллеры раскадровки выглядеть следующим образом:
Tab Bar > Navigation > Table View > Detail View
Show Detail
является переход от Table Cell
к Detail View
.
Метод prepareForSegue
не срабатывает при нажатии на ячейку таблицы. Однако Segue от кнопки до мелочей прекрасно работает. performSegueWithIdentifier
в didSelectRowAtIndexPath
также хорошо работает.
Я также создал совершенно новый тестовый проект, чтобы проверить этот вопрос - код управления выглядит следующим образом:
import UIKit
class TestTableController: UITableViewController
{
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
return 2;
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
let cellId = "testCell";
var cell: UITableViewCell? = tableView.dequeueReusableCellWithIdentifier(cellId) as? UITableViewCell;
if (cell == nil)
{
cell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: cellId);
}
cell!.textLabel!.text = "cell \(indexPath.item)";
return cell!;
}
}
Любая идея, почему это не работает из коробки?
P.S .: при использовании Split View
вместо Tab Bar
, тот же сегмент отлично работает.
Убедитесь, что вы используете Xcode 6/iOS 8.1, так как у меня было множество проблем с segues (особенно разматывайте segues) в 8.0.x, но теперь все они исправлены. – Rog