이와 같은 경우에는 Cocoa Bindings를 사용하는 것이 좋습니다. 이것은 실제로 바인딩을 사용하는 간단한 방법 중 하나입니다.
바인딩을 사용하면 사용자 인터페이스 동기화가 처리됩니다. 이는 라디오 버튼의 상태를 쿼리 할 필요가 없다는 것을 의미합니다. 단추가 바인딩 된 속성을 쿼리하면됩니다.
조치 방법을 구현하는 대신 속성 만 있으면됩니다. 예를 들어, - (BOOL) radio1;
, - (void) setRadio1:(BOOL) flag;
, - (BOOL) radio2;
및 - (void) setRadio2:(BOOL) flag;
(그러나 그 방법보다 나은 이름을 제공합니다). Objective-C 이후 버전에서는 @property
을 사용할 수 있습니다. 각 클래스에 대해 BOOL
필드를 입력하십시오.
NIB/XIB 파일을 편집 할 때 라디오 버튼에 속성을 할당 할 수 있습니다.
키 - 값 코딩의 규칙에 따라 self.radio1
은 암시 적으로 radio1
및 setRadio1
메서드가 모두 호출된다는 것을 의미하는 경로입니다. 다른 이름으로 바꾼 경우 그에 따라 경로 이름을 조정하십시오. 당신의 NIB/XIB을 편집 할 때
차례로 당신을 NSMatrix의 각 버튼 셀을 선택하고 바인딩 적절한 설정 :
- 설정 "파일의 소유자"에 바인딩 값 (속성이 구현되는 곳이 있다면) .
- 위의 예제 메서드가있는 경우 해당 속성의 키 경로 (
self.radio1
또는 self.radio2
)를 사용하십시오.
NSMatrix는 한 번에 하나의 값만 허용하도록 이미 설정되어 있으므로 속성 값도 마찬가지로 제한됩니다.
답변 해 주셔서 감사합니다. 이것이 내가 한 일이다. 그러나 부울은 업데이트되지 않습니다. 나는 라디오 버튼의 "오래된"상태를 얻는다 – testpresta