У меня была такая же проблема и я боролся с ошибкой nill UISegmentedControl.
И Я НАШЕЛ ОТВЕТ.
Иногда у вас возникает та же проблема, но у вас есть все соединения в XIB.
ПРОБЛЕМА: У вас есть ноль в self.segmentedControl.
В большинстве ситуаций, когда у вас все правильно подключено в XIB, оно также не будет работать.
ПРИЧИНА: Из-за различий в изучении Objective-C мы используем разные стили написания кода.
Решение : Например, мы пишем в интерфейсе UISegmentedControl * control;
Когда вы @ Synthesize, как бы вы это сделали?
Если вы напишите @ synthesize control = _control; , у вас всегда будет ноль, когда вы пишете так NSLog (@ "% i", control.selectedSegmentIndex) .
Итак, мы имеем ошибку в @ synthesize или в коде.
Решение
Для тех, кто пишет @synthesize control; использовать control.selectedSegmentIndex
Для тех, кто пишет @synthesize control = _control; использовать _control.selectedSegmentIndex
И все будет работать правильно.