我想设置一个字符串变量并希望它始终保持小写。
这是我的代码:
var alwaysLowercaseString : String? {
didSet{
alwaysLowercaseString = alwaysLowerCaseString!.lowercaseString
}
}
但是当我使用它时,它会进入无限循环。我怎么解决这个问题?
我想设置一个字符串变量并希望它始终保持小写。
这是我的代码:
var alwaysLowercaseString : String? {
didSet{
alwaysLowercaseString = alwaysLowerCaseString!.lowercaseString
}
}
但是当我使用它时,它会进入无限循环。我怎么解决这个问题?
我的立场是正确的,这是正确的方法。LeoDabus 这个答案值得称赞:
var alwaysLowercaseString : String? {
didSet{
alwaysLowercaseString = alwaysLowercaseString?.lowercaseString
print(alwaysLowercaseString)
}
}
var alwaysLowercaseString : String? {
didSet{
if alwaysLowercaseString != alwaysLowerCaseString!.lowercaseString {
alwaysLowercaseString = alwaysLowerCaseString!.lowercaseString
}
}
}
这会检查如果小写字符串已经是小写,它不会alwaysLowercaseString
再次更改值,因此您不会didSet
无限调用。alwaysLowercaseString
设置为小写后它将中断。