2017-01-06 12 views
0

У меня странная проблема. У меня есть два segues, вызванных кнопками в контроллере табличного представления, который является контроллером корневого представления контроллера навигации. Один отступ вызовет, а другой - нет. Они состоят из двух разных кнопок с двумя разными идентификаторами.Кнопка Активированный вызов не называется

Я установил точку останова внутри prepare(for segue: UIStoryboardSegue, sender: Any), и я могу проверить, что вторая кнопка не вызывает ее. Любые идеи были бы хорошы.

Мой код:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
     if segue.identifier == "locationViewSegue", let destinationViewController = segue.destination as? LocationViewController { 
      destinationViewController.delegate = self 
      destinationViewController.weatherData = self.weatherData 
      destinationViewController.wxObservationStationsArray = self.wxObservationStationsArray 
      destinationViewController.newCoordinates = self.weatherData.locationCoordinates 
     } else if segue.identifier == "searchPriorLocations", let destinationViewController = segue.destination as? SearchBarTableViewController { 
      destinationViewController.priorForecastLocations = self.priorForecastLocations 

     } 
    } 

Мои раскадровки следует с нарушившего Segue выделены: Storyboard

Любые мысли по этому вопросу будут оценены.

+0

Вы видели [здесь] (https://stackoverflow.com/questions/21619139/prepareforsegue-is-not-getting-called-when-i-click-on-a-button-without-using-per/ 40050522 # 40050522) – Honey

+0

Не могли бы вы написать распечатку внутри метода подготовки (для segue: ...), чтобы узнать, вызвана ли она действием кнопки? – darkndream

+0

Вы показали нам два сегмента, но только одно определение по определению IB. Я бы сосредоточился на этом. (1) Установили ли вы точку останова для предложения «else» (segue == «searchPriorLocations»)? Было ли это ударом? (2) Любые ошибки? Где код для «второй кнопки»? – dfd

ответ

1

У меня есть два перетекает запускаемые кнопками

я собираюсь предположить, что на самом деле нет, вы не делаете. Один из вариантов может быть вызван кнопкой; это тот, который работает так, как вы ожидаете - срабатывает режим segue при нажатии кнопки. Но другой segue, хотя он существует, не исходит от другой кнопки; он исходит из ячейки или из контроллера представления в целом.

Путь, чтобы проверить это, чтобы выбрать кнопку и отобразить Connections Inspector:

enter image description here

Если вы не видите тому - «действие» срабатывает SEGUE, связанный с кнопки - нажатие кнопки не срабатывает.

+0

* исходит из ячейки * вы имеете в виду что? – Honey

+1

@Honey сама ячейка является возможностью (можно выбрать), поэтому она также может иметь действие segue: вы нажимаете на ячейку, и вы начинаете. Конечно, вы это видели. – matt

+0

@matt: IB, который я показал, является тем, что не работает.Я проверил инспектор соединений, и он показывает его как триггерный переход к SearchBarTableViewController. Когда я нажимаю на кнопку, segue подсвечивается, а также VC. Кроме того, я не запускаю его из любой ячейки , просто e. Запуск его из ячейки станет более поздним экспериментом. :) – Yrb

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

  • Нет связанных вопросов^_^