我正在尝试接收文本字段文本并将其发送到另一个结构。但是得到这个错误。 同样,当我尝试调用.onRecieve(Just(text)}数据时,... Xcode无法理解什么是正义。
struct CardInfo : View {
@State var creditCard : CreditCard
@State var isSaved: Bool = false
@State private(set) var text = ""
var body: some View {
VStack {
CustomTextField(data: $text, tFtext: "Kartin Uzerindeki Isim", tFImage: "user")
.textContentType(.givenName)
.onReceive(text) { data in
creditCard.cardOwnerName = text
}
CustomTextField(data: $text, tFtext: "Kredi Kart Numarasi", tFImage: "credit")
.textContentType(.oneTimeCode)
.keyboardType(.numberPad)
HStack {
CreditCardDateTextField(tFtext: "", tFImage: "date")
.textContentType(.creditCardNumber)
Spacer()
Text("")
.overlay(
Rectangle()
.frame(width: 70, height: 53))
Text("|")
.foregroundColor(.black)
CustomTextField(data: $text, tFtext: "CCV", tFImage: "")
.textContentType(.creditCardNumber)
}
.foregroundColor(Color(#colorLiteral(red: 0.9647058824, green: 0.9725490196, blue: 0.9882352941, alpha: 1)))
Group {
CustomTextField(data: $text, tFtext: "Kart Ismi", tFImage: "cardEdit")
Spacer()
Button(action: {
self.isSaved.toggle()
}, label: { CustomButton(title: "Kaydet", icon: .none, status: .enable)
})
}
}
.edgesIgnoringSafeArea(.all)
.padding()
}
}
答案 0 :(得分:1)
您不能在状态上使用.onReceive
,需要使用Just
框架中定义的发布者,例如Combine
,因此需要导入它。
import Combine
...
CustomTextField(data: $text, tFtext: "Kartin Uzerindeki Isim", tFImage: "user")
.textContentType(.givenName)
.onReceive(Just(text)) { data in
creditCard.cardOwnerName = text
}