J'ai un TextField que je veux vérifier si le texte entré est un entier. Comment pourrais-je faire ça?
Je veux écrire une fonction comme celle-ci:
func isStringAnInt(string: String) -> Bool {
}
Vous pouvez également ajouter à String
une propriété calculée.
La logique à l'intérieur de la propriété calculée est la même que celle décrite par OOPer
extension String {
var isInt: Bool {
return Int(self) != nil
}
}
"1".isInt // true
"Hello world".isInt // false
"".isInt // false
Utilisez cette fonction
func isStringAnInt(string: String) -> Bool {
return Int(string) != nil
}
Vous pouvez vérifier comme ça
func isStringAnInt(stringNumber: String) -> Bool {
if let _ = Int(stringNumber) {
return true
}
return false
}
OR
vous pouvez créer une extension pour String. Allez dans Fichier -> Nouveau fichier -> Swift File
Et dans votre nouveau fichier Swift, vous pouvez écrire
extension String
{
func isStringAnInt() -> Bool {
if let _ = Int(self) {
return true
}
return false
}
}
De cette façon, vous pourrez accéder à cette fonction dans l'ensemble de votre projet comme celui-ci
var str = "123"
if str.isStringAnInt() // will return true
{
// Do something
}
if s is String {
print("Yes, it's a String")
} else if s is Int {
print("It is Integer")
} else {
//some other check
}