@darkpaw:
I have included snippet of my code below as reference.
The 'width' parameter can be changed later ...
However, same error would still show up:
"The compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions"
...
struct ViewShelter: View {
// TH: helps safely update UI.
@State private var rowEven: Bool = true
@State private var pathBlocked: Bool = true
@State private var borderColorBackEnd: Color = Color.black
@State private var borderColorBackEndOperation: Color = Color.black
var body: some View {
VStack (alignment: .leading){
ForEach(0...(ViewConstants.TARGET_STRING_BACK_0_DIMENSION-1), id:\.self) { row in
if let row_x = shelterViewModel.getShelter(row: row) as [RecommendationEntity]? {
if let row_x_count = row_x.count as Int? {
if row_x_count > 0 {
let row_x_columns = Array(0...row_x_count-1)
GeometryReader { geometry in
HStack(alignment: .center) {
ForEach(row_x_columns, id:\.self){ column in
self.rowEven = (row%2==0)
self.pathBlocked = (shelterViewModel.getShelter(row: row, column: column).productId == ViewConstants.LAYOUT_DUMMY_ID_PRODUCT)
self.borderColorBackEnd = (rowEven ? Color.blue : Color.orange)
self.borderColorBackEndOperation = (pathBlocked ? Color.yellow : Color.green)
VStack{ … }
.border(
(shelterViewModel.getShelterOperationFormat() != true) ? borderColorBackEnd
: (locationViewModel.getLocation(row: row, column: column) == true) ? Color.red
: borderColorBackEndOperation,
width: self.interfaceLayout == ViewConstants.BACKEND_OPERATION ? 0.5 : 0.5
)
.onTapGesture { … }
}//ForEach.
}//HStack.
}//GeometryReader.
.frame( … )
}// if count > 0.
}//if row_x_count.
}//if row_x.
}//ForEach.
}//VStack.
}//body: View.
Topic:
Developer Tools & Services
SubTopic:
Xcode