首页 > 解决方案 > 根据segue设置分段控件的索引

问题描述

我将使用几个不同的 uibuttons 和 segues 从一个控制器到另一个控制器。我想根据所使用的 segue 将我的分段控件设置为从指定的索引开始。我尝试了下面的代码,但在运行应用程序时收到错误。

代码:

if segue.identifier == "watchedSegue" {
        if let detailView = segue.destination as? ListView {
            detailView.watchList = watchList
            detailView.watchedList = watchedList
            detailView.listSeg.selectedSegmentIndex = 1 //Error: Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value
        }
    }

为什么我在运行应用程序时收到此错误?基于segue设置默认索引的首选方法是什么?

标签: iosswiftsegueuisegmentedcontrol

解决方案


使用来自M Abubaker Majeed的评论,我替换了:

detailView.listSeg.selectedSegmentIndex = 1

和:

detailView.segIndex = 1

然后将其放入分段视图控制器中:

var segIndex = 0

override func viewDidLoad() {
    super.viewDidLoad()

listSeg.selectedSegmentIndex = segIndex

}

推荐阅读