Im having hassle getting the view to replace to mirror every new entityPosArray that’s handed in from a WebSocket reply.
It updates on this Class however not within the View, and I’m out of concepts to check.
I feel its across the line “entityPositionClassArray = entityPosArray” which isn’t registering as @ObservedObject replace?
It does work if I take advantage of a button motion to set off EntityPositions() however im after a stay view replace on every up to date Array handed in.
pattern entityPosArray:
[["EntID": "0012", "entPOSX": "1064.55", "entPOSY": "871.31"],
["EntID": "5699", "entPOSX": "2231.13", "entPOSY": "1962.92"],
["EntID": "5540", "entPOSX": "-1619.95", "entPOSY": "-1344.04"],
["EntID": "5989", "entPOSY": "731.11", "entPOSX": "-1689.66"],
["EntID": "0809", "entPOSX": "-971.65", "entPOSY": "-1761.38"]]
Up to now have simply been attempting to get the array.depend to replace within the view, after that the remainder needs to be simular.
I can see the info in console replace from the Class however don’t see a View reload or Textual content area replace.
import SwiftUI
import Mix
import Basis
class EntityPositionViewModel: ObservableObject {
@Printed var entityPositionClassArray = [[String:String]]()
@Printed var entityOnline: Int = 0
func EntityPositions() {
entityPositionClassArray = entityPosArray
entityOnline = entityPositionClassArray.depend // Added to check in console
let _ = print("There are (entityOnline) linked") // <- This works on every Array replace
}
}
struct EntityOnline: View {
@ObservedObject var mannequin = EntityPositionViewModel()
init() {
mannequin.EntityPositions() // init() makes no distinction
}
var physique: some View {
VStack {
Textual content("Take a look at: (mannequin.entityOnline)")
.font(.largeTitle)
// Testing for View Replace and Reload
let entityOnline2 = mannequin.entityPositionClassArray.depend // Checking totally different name
let _ = print("TestEnts: (entityOnline2)")
let _ = print("View Reloaded")
}
}
}```