Как получить значение переменной IBInspectable с помощью get return?
У меня есть простое приложение оценки, и у меня есть;
@IBInspectable var commingId: Int
{
get
{
return self.commingId;
}
set
{
refreshStars()
}
}
func starClicked(sender:UIButton){
if(self.canEdit){
rating = sender.tag;
if(self.delegate != nil){
self.delegate.starRateEdited(Double(rating))
}
self.refreshStars()
print("Selected \(sender.tag) - commingId \(self.commingId)")
}
}
коды. когда я пытаюсь получить возврат self.commingId
дает мне;
Ошибка EXC_BAD_ACCESS(код =2, адрес =0x7fff571egff8)
Как я могу получить commingId
внутри него?
2 ответа
Решение
Почему ты вообще переопределил геттер?
Похоже, вам просто нужно позвонить refreshStars()
после того, как значение установлено, так что просто работайте с willSet/didSet
@IBInspectable var commingId: Int {
didSet {
refreshStars()
}
}
Попробуйте следующее:
var commingRating: Int = 0
@IBInspectable var commingId: Int
{
get
{
return self.commingRating;
}
set
{
commingRating = newValue
refreshStars()
}
}
func starClicked(sender:UIButton){
if(self.canEdit){
rating = sender.tag;
if(self.delegate != nil){
self.delegate.starRateEdited(Double(rating))
}
self.refreshStars()
print("Selected \(sender.tag) - commingId \(self.commingId)")
}
}