@Published로 선언된 값이 바뀌지 않는 오류를 수정하자
xpc 통신을 통해서 각 기능의 on / off 현황을 받아오게 하였는데, 저장된 controller의 값이 view에 반영되지 않았음
view를 struct로 쪼개서 구조화 하였는데, 이떄 on off 여부를 판단할 수 있는 Bool 변수를 @State로 선언하였음
@State 대신 @Binding 사용
Property Wrapper에는
@State와 @Binding등이 있는데 이 두개로 선언을 한 변수를 통해 값의 변화를 감지하여 View를 재 렌더링 하는데 쓰이는데,
@State는 주로 한 구조체나 클래스 내에서 지역적으로만 변화를 감지할 때 사용하고, @Binding은 주로 부모 뷰에서 자식 뷰로 Binding 값을 전달해 줄 때 사용한다.
나의 경우 가장 큰 뷰 안에 반복되는 뷰를 쉽게 재사용하기 위해서 구조화해놓았기 때문에, State 값을 인자로 전달하는 것이 아니라 Binding 값으로 전달 해주어야 정상적으로 값을 받아서 동작할 수 있었다.