Я использую Swiftui
Постоянный вид выглядит как это < /p>
Код: Выделить всё
import SwiftUI
var test = 0
struct ContentView: View {
@State var TextColor=Color.black
var body: some View {
VStack{
HStack{
VStack {
Text("text")
.foregroundColor(TextColor)
...
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
< /code>
У меня есть другая функция, которая отправляет http -запрос < /p>
import Foundation
import SwiftUI
//send command to server
func SendCommand(source: String)
{
//send command to server
do {
let date=getDateAndTime()
let fullmassage=date+source
// Encrypt the message
let encryptedBase64String = try encrypt1(message: fullmassage, key: AESKey, iv: IVByte)
print("Encrypted Message: \(encryptedBase64String)")
let url = URL(string: "http:///"+encryptedBase64String)!
let request = URLRequest(url: url)
let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
// Check for Error
if let error = error {
print("Error took place \(error)")
return
}
// Convert HTTP Response Data to a String
if let data = data, let dataString = String(data: data, encoding: .utf8) {
AnalyzeResponse(inst: dataString)
}
}
task.resume()
}
catch{
}
}
< /code>
и тот, который анализирует ответ < /p>
func AnalyzeResponse(inst: String)
{
//@State var settings = AppSettings()
let seperator = CharacterSet(charactersIn: ":")
let input = inst
let Slist = input.components(separatedBy: seperator)
devicestatus.removeAll()
for devicestt in Slist
{
for elment in device
{
if devicestt.starts(with: elment)
{
let stt=devicestt.replacingOccurrences(of: elment, with:"")
if (stt.first=="-" || stt.first=="P")
{
< change the color of the text according to to the response>
}
else
{
print("\(stt)" }
}
}
}
}
попытаться использовать
Код: Выделить всё
class AppSettings: ObservableObject {
@Published var appStatus: String = "Normal" // Example status
@Published var currentColor: Color = .purple // The color to change
}
struct ContentView: View {
@StateObject private var settings = AppSettings()
// Creates and owns the instance
( changed to `.foregroundColor(settings.currentColor` )
< /code>
и используемый настройки. Это создаст новый экземпляр каждый раз.
и он не работает:
Я добавил @stateobject var settings = appsettings ()
asame..br/> Можно все изменить мне цвет.>
Подробнее здесь: https://stackoverflow.com/questions/796 ... de-of-view