Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios SwiftUI TextField不接受整数/双精度。如何做到这一点?_Ios_Swiftui - Fatal编程技术网

Ios SwiftUI TextField不接受整数/双精度。如何做到这一点?

Ios SwiftUI TextField不接受整数/双精度。如何做到这一点?,ios,swiftui,Ios,Swiftui,我从iOS应用程序开发开始,SwiftUI是我的第一步 我无法从用户处输入整数或双精度值 @State public var num1: Double = 0 TextField(" Enter a Number", text: $num1) //Error: Cannot convert value of type 'Binding<Double>' to expected argument type 'Binding<String>' @Stat

我从iOS应用程序开发开始,SwiftUI是我的第一步

我无法从用户处输入整数或双精度值

@State public var num1: Double = 0
TextField(" Enter a Number", text: $num1)
//Error: Cannot convert value of type 'Binding<Double>' to expected argument type 'Binding<String>'
@State public var num1:Double=0
TextField(“输入一个数字”,文本:$num1)
//错误:无法将“Binding”类型的值转换为预期的参数类型“Binding”

请帮忙

SwiftUI的组件希望使用@State之类的东西对属性进行双向绑定,在声明num1属性之前,您是否使用了@State

您可以这样做:

将变量num1声明为

@State private var num1 = ""
TextField不能直接接受整数或双精度输入,只能接受字符串输入,并且可以在计算过程中键入所需的值,如下所示:

print("Input taken is : \(Double(num1))")

谢谢你的回复!我已经在代码中应用了State变量。错误一直存在。请参阅Praduyt。。。使num1类型为String,然后尝试编译eyeah,因为它只接受字符串值。我使用Double的目的是执行字符串变量无法实现的算术运算。如果您尝试了TextField的formatter参数,则必须传递DoubleFormatter()作为TextField的formatter参数!我还尝试了formatter参数,错误是“调用中的额外参数'formatter'。我刚刚用DoubleFormatter()进行了尝试,但没有这样的内容。这是否回答了您的问题?