Я пытаюсь создать подкласс управления звездным рейтингом. У меня есть необязательная переменная в классе контроля рейтинга, которая называется rating
, которую я хочу изменить после создания представления, но по какой-то причине она всегда равна нулю.
Как у меня есть свойства в классе StarRatingView
, которые я могу изменить, как в примере ниже?
class StarRatingView: UIStackView {
var rating: Int?
override init(frame: CGRect) {
super.init(frame: frame)
print(rating) // <<<---- Prints "nil" -----
addStarsBasedOnRating()
}
required init(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
// How I'd like to access rating <<<<-------
func addStarsBasedOnRating() {
if rating == someNumber {
// do something
}
}
}
Так создается класс управления в классе, который его инициализирует.
let ratingView: StarRatingView = {
let view = StarRatingView()
view.rating = 4
return view
}()