如何设置字符串变量并使其始终小写?
How can I set a string variable and make it always lowercase?
我想设置一个字符串变量,并希望它始终保持小写。
这是我的代码:
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
设置为小写后会中断。
我想设置一个字符串变量,并希望它始终保持小写。
这是我的代码:
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
设置为小写后会中断。