我有一个Textfield,我想测试它的输入值是否为Int类型.

代码如下:

import SwiftUI

struct ContentView: View {
    @State var integer: String = ""
    
    var body: some View {
        TextField("Enter an integer", text: $integer)
        
        Button(action: {
            if (Int(integer)//here is where I want to figure out whether the value is of type Int) {
                print("Yay")
            } else {
                print("not an integer")
            }
        }, label: {
            Text("Check")
        })
    }
}

肯定有一种简单的方法来做这件事,但我一直没能弄明白.

推荐答案

您可以使用Int(整型)并按如下方式展开可选的:

if let intValue = Int(integer) {
    print("Int value: \(intValue)")
} else {
    print("Not an int")
}

Swift相关问答推荐

try 在SwiftUI中做5星评级

在用户将输入保存到SWIFT中的核心数据后,如何创建指向我的应用程序S主页的链接?

格式化单位和度量值.为什么从符号初始化的单位不能产生与静态初始化相同的结果

从后台线程获取@发布属性的值(不更改它)是正确的吗?

SWIFT计划计时器方法在时间间隔后未被调用

如何使用变量 Select 哪个向量(?)在我的 struct 中密谋吗?

ClosedRange.Swift 中 Int 的索引?

可以将属性名称传递给 Swift 中的函数吗?

减小SF符号的边框宽度

为什么无法在 Swift 中使用AVFoundation扫描 QRCode

memcpy 复制带偏移量的数组

我如何遵守与演员的协议?

SwiftUI Observed Object 在发布值更改时未更新

VStack SwiftUI 中的动态内容高度

理解 Swift 2.2 Select 器语法 - #selector()

iOS Swift - 如何更改表格视图的背景 colored颜色 ?

如何在 iOS Swift 中进行多线程、并发或并行?

如何为多个类 Swift 进行扩展

如何从 Swift 中的字符串生成条形码?

为什么枚举具有计算(computed)属性但在 Swift 中没有存储属性?