Как проверить, является ли String Int в Swift?

У меня есть TextField, который я хочу проверить, является ли введенный текст целым числом. Как я мог это сделать?

Я хочу написать такую функцию:

func isStringAnInt(string: String) -> Bool {

}

Ответ 1

Расширение строки и вычисляемое свойство

Вы также можете добавить к String вычисленное свойство.

Логика внутри вычисленного свойства такая же, как OOPer

extension String {
    var isInt: Bool {
        return Int(self) != nil
    }
}

Теперь вы можете

"1".isInt // true
"Hello world".isInt // false
"".isInt // false

Ответ 2

Используйте эту функцию

func isStringAnInt(string: String) -> Bool {
    return Int(string) != nil
}

Ответ 3

Вы можете проверить это как

func isStringAnInt(stringNumber: String) -> Bool {

    if let _ = Int(stringNumber) {
        return true
    }
    return false
}

ИЛИ

вы можете создать расширение для String. Перейдите в Файл → Новый файл → Файл Swift

В новом созданном файле Swift вы можете написать

extension String
{
    func isStringAnInt() -> Bool {

        if let _ = Int(self) {
            return true
        }
        return false
    }
}

Таким образом, вы сможете получить доступ к этой функции во всем своем проекте, например,

var str = "123"
if str.isStringAnInt() // will return true
{
 // Do something
}

Ответ 4

if s is String {
  print("Yes, it a String")
} else if s is Int {
  print("It is Integer")
} else {
  //some other check
}