У меня странная проблема, когда текстовое поле удаляется после выбора другого текстового поля.
У меня есть EnvironmentObject
func applicationDidFinishLaunching(_ aNotification: Notification) {
// Create the SwiftUI view that provides the window contents.
let shellInteractor = ShellInteractor()
let contentView = ContentView().environmentObject(shellInteractor)
}
, внедренный в представление
struct ContentView: View {
@EnvironmentObject var shellInteractor: ShellInteractor
var body: some View {
ScrollView {
VStack {
HStack {
Text("Enter target bundle identifier:")
TextField("com.mycompany.app", text: $shellInteractor.bundleId)
}.padding()
HStack {
Text("Enter icon badge count:")
TextField("0", text: $shellInteractor.badgeNumber)
}.padding()
HStack {
Text("Enter message identifier:")
TextField("ABCDEFGHIJ", text: $shellInteractor.messageId)
}.padding()
Text("Found Running Sim: ")
Text(self.shellInteractor.shellOutput).fontWeight(.semibold)
Button(action: {
self.shellInteractor.sendNotification()
}) {
Text("SEND!!!")
.fontWeight(.semibold)
}.padding()
}.padding()
}
}
}
class ShellInteractor: ObservableObject {
@Published var shellOutput: String = ""
public var badgeNumber: String = ""
public var messageId: String = ""
public var bundleId: String = ""
}
Как я уже сказал, когда я ввожу текст в любое из текстовых полей и выбираю другое текстовое поле или нажимаю клавишу TAB
(в основном при потере фокуса), текстовое поле удаляет текст и снова отображает заполнитель.