79387746

Date: 2025-01-26 00:04:40
Score: 1
Natty:
Report link

So the problem that i was facing is passing the bool to a viewModifier. I needed to pass the selectedItem as binding in order to work properly

//MARK: - Selectable Cell ViewModifier

struct ExpenseSelectableCell: ViewModifier {
    @Binding var selectedItem: Expense?
    var expense: Expense

    func body(content: Content) -> some View {
        content
            .overlay {
                Color.black.opacity(isSelected() ? 0.2 : 0)
            }
    }

    func isSelected() -> Bool {
        guard let selectedItem else { return false }
        return selectedItem.id == expense.id
    }
}

extension ExpenseCellView {
    func selectableCell(selectedItem: Binding<Expense?>) -> some View {
        self.modifier(ExpenseSelectableCell(selectedItem: selectedItem, expense: self.expense))
    }
}

Reasons:
  • Blacklisted phrase (0.5): I need
  • Long answer (-0.5):
  • Has code block (-0.5):
  • Self-answer (0.5):
  • Low reputation (1):
Posted by: RafaSG13