UISegmentedControl selectedIndex 总是显示 0

UISegmentedControl selectedIndex always showing 0

刚开始学习iOS。我以编程方式创建了一个 UISegmentedControl 并用两个项目对其进行了初始化。我好像不太明白为什么选择的索引总是显示0。

这是我的代码:

let items = ["Watchlist", "Favorites"]

var segmentedControl: UISegmentedControl {
        let sc = UISegmentedControl(items: items)
        sc.selectedSegmentIndex = 0
        sc.addTarget(self, action: #selector(handleSegmentChange), for: .valueChanged)
        return sc
    }    


// Action for segment change
@objc fileprivate func handleSegmentChange() {
        print(segmentedControl.selectedSegmentIndex)
    }

分段控件定义为 computed property,每次访问时都会创建一个新的 UISegmentedControl 实例,selectedSegmentIndex 值设置为 0。尝试使用 属性 初始化闭包:

let segmentedControl: UISegmentedControl = {
    let sc = UISegmentedControl(items: items)
    sc.selectedSegmentIndex = 0
    sc.addTarget(self, action: #selector(handleSegmentChange), for: .valueChanged)
    return sc
}()