Как я могу связать строки c? - PullRequest
0 голосов
/ 17 марта 2020

Например, у меня есть этот интерфейс:

import SwiftUI

struct ContentView: View {

    @Binding var statictext : String

    var body: some View {
        Text("My New Text: \(statictext)")
    }
}

и этот класс:

class Strings
{
    public static var mytext = "MyText"
}

Как я могу инициализировать ContentView? Мне нужно, чтобы текст в интерфейсе стал «Мой новый текст: новый текст» при изменении значения Strings.mytext = «Новый текст»

PS: извините за мой Engli sh)))))

1 Ответ

1 голос
/ 17 марта 2020

Я не знаю, является ли это правильным ответом на этот вопрос, но вы могли бы сделать это, даже если это кажется мне грязным.

import SwiftUI

class Strings
{
    public static var mytext = "MyText"
}

struct ContentView: View {

    @State var statictext : String {
        willSet {
            Strings.mytext = newValue
        }
    }

    init() {
        self._statictext = State(initialValue: Strings.mytext)
    }

    var body: some View {
        VStack {
            Text("My New Text: \(statictext)")

            Button(action: {
                self.statictext = "Test"
            }) {
                Text("Button")
            }
        }
    }
}
...