그래서 나는 내가 BOOL에 따라 숨겨진 원하는보기를코코아 다중 값 부울 바인딩,
나는 코코아 바인딩하여이 작업을 수행 내 문제가 지금은 서로를 원하는 것입니다
[view bind:@"hidden" toObject:self withKeyPath:@"someBOOL" options:bindingOptions];
BOOL도 뷰에 바인딩됩니다. 이 BOOLs 중 하나가 YES
를 반환하는 경우
그래서
, 나는view
이 숨겨져 싶은
[view bind:@"hidden" toObject:self withKeyPath:@"someBOOL2" options:bindingOptions];
문제는 논리와 동일한 뷰 기본값이 BOOL 바인딩을 가지고, 기본적으로 보이는 것입니다 다른 하나는 YES
로 평가하지 않는 경우 중 하나 someBOOL
또는 someBOOL2
이 그렇게이 프로그램 부울 바인딩은을 사용하여 만들 수있는 방법이 그래서 만약 누군가가 알고 있지 YES
로 평가되는 경우 작업은, 그래서 그것은 중요하지 않습니다 논리 OR 연산자? https://developer.apple.com/library/content/documentation/Cocoa/Reference/CocoaBindingsRef/Concepts/BindingTypes.html
다중 값 바인딩
다중 값 바인딩 여러 바인딩이 하나의 바인딩을 생성 할 수 있도록 :
이것은 내가 찾을 수있는 유일한 관련 문서 및 정보입니다. 첫 번째 바인딩 인 으로 바인딩을 만들면 두 번째 바인딩이 자동으로 노출됩니다.
예를 들어 활성화 된 바인딩에 바인딩하는 경우 enabled2라는 바인딩이 노출됩니다. enabled2를 바인딩하면 객체에 enabled3이 노출됩니다. 이 모든 바인딩 값은 바인딩의 최종 값을 반환 할 때 함께 사용됩니다 ( ).
다중 값 바인딩은 항상 읽기 전용입니다.
다중 값 바인딩에는 4 가지 변형이 있습니다.
여러 값 부울 바인딩 여러 값 부울 바인딩은 개체가 편집 가능, 숨김 또는 사용 가능인지 결정하는 데 사용되는 입니다. 바인딩의 결과 값 은 논리적 AND 또는 노출 된 바인딩 값의 논리 OR을 형성하여 파생됩니다. 논리 사용 은 특정 바인딩에 따라 다릅니다.
표시된 두 번째 바인딩의 경우 여전히 "숨김"이라는 이름을 사용하고 있습니다. 그것 **은 첫 바인딩을 대체합니다 **. 다중 값 바인딩을 사용하려면 두 번째 바인딩 이름으로 "hidden2"바인딩 이름을 사용해야합니다. –
아 그래, 문서에있는 바로 그 부분을주의 깊게 읽지는 않았다.논리 AND/OR 사이를 전환 할 수 있는지 알고 있습니까? "사용 된 논리적 조작은 특정 바인딩에 달려 있습니다." 어떤 제어권도 가지고 있지 않은 것처럼 들린다. –
"모든 숨겨진 바인딩에 대한 논리적 OR 연산이 부울 값인 YES가되면 NSView가 숨겨집니다." [NSView 숨김] (https://developer.apple.com/library/content/documentation/Cocoa/Reference/CocoaBindingsRef/BindingsText/NSView.html#//apple_ref/doc/uid/NSView-SW3). – Willeke