Вы начинаете с пустого массива с именем malaBeadLabel
.
Затем во время первой итерации цикла, когда i
равно 1, вы пытаетесь malaBeadLabel[i]
. Это, конечно, вызывает ошибку, потому что malaBeadLabel
пусто и в индексе 1 (или 0, или любом другом индексе) ничего нет.
Кроме того, вы никогда не пытаетесь создать экземпляры RoundLabel
.
Измените код цикла, чтобы не пытаться получить доступ к чему-либо из массива, просто добавьте его в массив. И создайте фактические экземпляры меток.
for i in 1...108 {
let label = RoundLabel(frame: CGRect(x: (malaRadius * cos(angleInRadians * Double(i))),
y: (malaRadius * sin(angleInRadians * Double(i))),
width: 2.0, height: 2.0))
label.layer.cornerRadius = 1.0
label.layer.borderWidth = 0.25
malaBeadLabel.append(label)
malaFrame.addSubview(label)
}
Кстати, почему код для установки радиуса угла метки и ширины границы внутри класса RoundLabel
отсутствует?