Custom Segmented Control setIndex Thread 1: Fatal error: Index out of range” when I setselected index

Custom Segmented Control setIndex Thread 1: Fatal error: Index out of range” when I setselected index

我在我的一个视图中使用这个自定义分段控件code。当我尝试 setIndex 时遇到一个问题,我设置了 public 并传递了所选索引的数量 我在设置所选索引时收到此错误“线程 1:致命错误:索引超出范围”[=12] =]

  public func setIndex(index: Int) {
        buttons.forEach({ [=10=].setTitleColor(textColor, for: .normal) })
        let button = buttons[index]
        selectedIndex = index
        button.setTitleColor(selectorTextColor, for: .normal)
        let selectorPosition = frame.width/CGFloat(buttonTitles.count) * CGFloat(index)
        UIView.animate(withDuration: 0.2) {
            self.selectorView.frame.origin.x = selectorPosition
        }
    }

在进入功能之前,首先检查 index 是否在 buttons 数组范围内

 if index > buttons.count - 1 {
   // Index out of range.
   return
 }