我怎麼能說:如果label.text ==任何詮釋如何,我可以說,如果label.text ==任何詮釋
if label.text == (Any, Int) {
label1.text = "Might be another Integer"
}
如果你有足夠的時間來回答一個問題,這將是巨大的: 我怎麼能說:如果label.text ==任何詮釋,除了42
請分開的問題,並感謝大家的幫助
我怎麼能說:如果label.text ==任何詮釋如何,我可以說,如果label.text ==任何詮釋
if label.text == (Any, Int) {
label1.text = "Might be another Integer"
}
如果你有足夠的時間來回答一個問題,這將是巨大的: 我怎麼能說:如果label.text ==任何詮釋,除了42
請分開的問題,並感謝大家的幫助
您正在尋找這樣的事情:
class Label {
var text: String? = "43"
}
let label = Label()
if let text = label.text, let int = Int(text) where int != 42 {
print("I'm \(int), not 42!")
}
// prints: I'm 43, not 42!
如果這看起來有點亂,你可以用它像這樣:
if
let text = label.text,
let int = Int(text)
where int != 42
{
print("I'm \(int), not 42!")
}
歡迎的StackOverflow,你的問題還不清楚,但我會盡量ANWER,一個label
的財產.text
永遠是String類型的對象,所以它永遠不會是一個Int,但通過閱讀你的第二個問題,我假設你想檢查是否是一個整數,而不是一個對象Int,所以你可以創建一個函數來檢查一個String是否包含編號:
function checkIfAStringIsANumber(str:String)->Bool{
let decimalCharacters = NSCharacterSet.decimalDigitCharacterSet()
let decimalRange = str.rangeOfCharacterFromSet(decimalCharacters)
if decimalRange != nil {
return true;
}
return false;
}
並以這種方式使用它:
if (checkIfAStringIsANumber(label.text)) {
label1.text = "Label contains an integer value!"
}
第二個問題: 爲了避免一些數字,你可以修改我們所創建的函數之前做這樣的事情:
function checkIfAStringIsANumberWithoutSomeValues(str:String,excludedValues:[Int])->Bool{
let decimalCharacters = NSCharacterSet.decimalDigitCharacterSet()
let decimalRange = str.rangeOfCharacterFromSet(decimalCharacters)
if decimalRange != nil {
let intObj = Int(str);
if excludedValues.contains(intObj) {
return false;
}
return true;
}
return false;
}
而且你可以使用它像這樣:
let excludedValues:[Int] = [42,31,89,101] //Values that you want to exclude, if you want to exclude only 42 simply write [42]
if(checkIfAStringIsANumberWithoutSomeValues(label.text,excludedValues){
label1.text = "integer found"
}
你的意思是,如果'label.text'是一個'Int'?因爲'label.text ==(Any,Int)'提示了完全不同的東西。 – Eendje