вот мой код в swift, в чем проблема, я просто хочу использовать вычисленное свойство со статическим ключевым словом.
class TypeProperty {
static var Info:String {
set(str) {
TypeProperty.Info = str
}
get {
return "none"
}
}
}
TypeProperty.Info = "I am Info" /* here i get error ,what is problem with it */
Проблема заключается в том, что когда вы устанавливаете Info TypeProperty.Info = "I am Info"
она застрянет в бесконечном цикле. Это потому, что вы устанавливаете одну и ту же переменную в настройщике этой переменной.
Вы можете сделать что-то подобное..
class TypeProperty {
static var _info:String?
static var Info:String {
set(str) {
_info = str
}
get {
return _info ?? "none"
}
}
}
=
за которым следует любая строка, это вызовет установщик ( set
)
TypeProperty.Info = str
внутри установщика просто вызывает рекурсивно. Хотя какой смысл иметь установщик, если получатель всегда будет возвращать"none"
?