首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自用户输入的Swift5文本字段整数

来自用户输入的Swift5文本字段整数
EN

Stack Overflow用户
提问于 2020-04-30 23:36:48
回答 3查看 173关注 0票数 0

使用Swift5。UI (不是情节提要),这是Xcode的新功能,在从用户检索文本字段字符串后,1)如何将字符串转换为整数,以便可以根据用户对多个文本字段的响应执行数学计算?2)代码放在哪里?

EN

回答 3

Stack Overflow用户

发布于 2020-05-01 05:19:20

1)

代码语言:javascript
复制
    @State private var textfieldInput = ""
    var Int1: Int {
    return Int(textfieldInput) ?? 0 // String to Int conversion is always return optional.
    }

    //some code
    TextField("Text", text: $textfieldInput)

2)如果我们不知道你的代码,我们该如何判断?但我在上面尽了最大的努力来展示这个概念。

票数 1
EN

Stack Overflow用户

发布于 2020-05-01 05:32:20

在下面的应用程序中,resultString是将字符串转换为Int的计算属性。这个表达式是可选的,因为当我们尝试时,字符串可以是任何东西。

代码语言:javascript
复制
import SwiftUI

struct ContentView: View {
    @State private var num: Int = 0
    @State private var text: String = "0"
    private var resultInt: Int {
        return self.num*self.num
    }
    private var resultString: String {
        if let num = Int(self.text) { // Here it convert the string to an integer
            return String(num*num)
        }
        return "0"
    }
    var body: some View {
        VStack {
            TextField("String Number",text: self.$text)
            .textFieldStyle(RoundedBorderTextFieldStyle())
            TextField("Int Number", value: self.$num, formatter: NumberFormatter())
            .textFieldStyle(RoundedBorderTextFieldStyle())
            Spacer()
            Text("Square is \(self.resultInt)").font(.title)
            Text("Square is \(self.resultString)").font(.title)
            Spacer()
        }.padding()
    }
}

如果你需要澄清,@rick-h注释下来

票数 0
EN

Stack Overflow用户

发布于 2020-05-01 07:31:15

对不起,(我在这方面真的是新手)之前没有包括我的代码。希望这能有所帮助。

代码语言:javascript
复制
import SwiftUI

struct ContentView: View {
    @State var xUSERNAME: String = ""
    @State var xUSERNAME2: String = ""
    @State var xMATH: Int = 2

    var body: some View {
        VStack(alignment: .leading) {
            Text("Hello World!")
            TextField("Enter User Name...", text: $xUSERNAME)
                .foregroundColor(.black)
                .textFieldStyle(RoundedBorderTextFieldStyle())
            Text("YOUR USER NAME: \(xUSERNAME)")
                .fontWeight(.bold)
        
            TextField("Enter User Name...", text: $xUSERNAME2)
                .foregroundColor(.black)
                .textFieldStyle(RoundedBorderTextFieldStyle())
            Text("YOUR USER NAME: \(xUSERNAME2)")
                .fontWeight(.bold)
            Text("YOUR USER NAME: \(xUSERNAME)\(xUSERNAME2)")
            Text("\(xUSERNAME)")
        }.padding()   
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61527218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档