Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.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 点击手势时获取展开值_Ios_Swift_Swiftui_Swift5 - Fatal编程技术网

Ios 点击手势时获取展开值

Ios 点击手势时获取展开值,ios,swift,swiftui,swift5,Ios,Swift,Swiftui,Swift5,我有一个SwiftUI视图,它接受codeToVerify状态绑定,并包含一个TextField,用户用它检查与代码关联的属性 我不知道为什么,但当我设置断点并检查codetovify的值时,该值返回到声明时的初始设置,尽管TextField接受绑定并按预期工作 这就是我目前正在尝试的,尽管我已经尝试了很多变体。此函数由父视图的导航链接调用,因此我提供了一个默认值“” 我希望您能考虑一下为什么这可能不起作用,以及我能做些什么来修复它 import SwiftUI import Combine

我有一个SwiftUI视图,它接受
codeToVerify
状态绑定,并包含一个
TextField
,用户用它检查与代码关联的属性

我不知道为什么,但当我设置断点并检查
codetovify
的值时,该值返回到声明时的初始设置,尽管
TextField
接受绑定并按预期工作

这就是我目前正在尝试的,尽管我已经尝试了很多变体。此函数由父视图的
导航链接调用,因此我提供了一个默认值
“”

我希望您能考虑一下为什么这可能不起作用,以及我能做些什么来修复它

import SwiftUI
import Combine

struct BusinessVerifyCode: View {
    @State var codeToVerity:String = ""

    var body: some View {
        VStack {
            TextField(text: self.$codeToVerify, ..)
            Button(..)
            .onTapGesture {
                print(self.$codeToVerity.wrappedValue) // Always returns ""
            }
        }
    }
}

以下是如何使用它。使用Xcode 11.4/iOS 13.4进行测试

struct BusinessVerifyCode: View {
    @State var codeToVerity:String = ""

    var body: some View {
        VStack {
            TextField("Placeholder", text: self.$codeToVerity)
            Button("Tap") { // use own button action
                print(self.codeToVerity)  // get state directly
            }
        }
    }
}

谢谢@Asperi,你无处不在!问题是,在我的真实代码中,我通过TextFieldUI实现了TextField,并且没有在中的updater函数中更新
text