... 먼저
, 바인딩은 항상 올바른 기술이 아니다. 그것은 어떤 것을 단순화 할 수는 있지만 모든 것을 할 수는 없으며 할 수있는 일의 일부라도 그것을 반드시 단순하게 만들 필요는 없습니다.
라디오 버튼은 종종 NSMatrix
으로 구성됩니다. 이 경우 행렬 바인딩을 바인딩하여 선택 항목을 추적 할 수 있습니다. 행렬에는 세 가지 내용 관련 바인딩이 있는데, 이는 혼란 스러울 수 있습니다. "내용"바인딩이 기본입니다. 어떤 경우에는 충분합니다. 그러나 바인딩되는 객체와 행렬의 셀에 표시되어야하는 값 사이에 구별이있는 경우 "contentValues"바인딩을 바인딩하여 컨텐트 바인딩의 하위 경로가 될 수 있습니다. 즉, 모델 키 경로의 끝 부분에 추가 요소가 추가되어 콘텐츠 바인딩과 동일해야합니다.
또한 선택한 개체를 콘텐츠 개체와 구분하려면 "contentObjects"를 콘텐츠 바인딩의 하위 경로에 바인딩 할 수 있습니다.
예를 들어, 콘텐츠가 Person
묶음의 배열 컨트롤러 일 수 있습니다. 어레이 content
바인딩은 해당 어레이 컨트롤러의 arrangedObjects
에 바인딩 될 수 있습니다. 그런 식으로 남겨두면 행렬의 셀은 각 Person
객체의 description
에서 채워집니다. 그러나 행렬 컨트롤러 contentValues
을 배열 컨트롤러 arrangedObjects
과 모델 키 경로 fullName
에 바인딩 할 수 있습니다.그런 다음 매트릭스 셀에 각 Person
개체의 전체 이름이 채워집니다.
매트릭스의 selectedObject
바인딩을 윈도우 컨트롤러의 속성에 바인딩하면 매트릭스 선택이 변경 될 때마다 해당 속성이 선택된 Person
개체로 설정됩니다. 원하는 경우 매트릭스의 contentObjects
바인딩을 어레이 컨트롤러 (arrangedObjects
, 모델 키 경로 uniqueID
)에 바인딩 할 수 있습니다. 이 경우 창 컨트롤러 속성은 선택한 Person
개체 자체가 아니라 uniqueID
속성으로 설정됩니다.
또는 매트릭스의 selectedIndex
바인딩을 컨트롤러 속성에 바인딩 할 수 있습니다. 윈도우 컨트롤러를 사용한다면 윈도우 컨트롤러의 속성을 직접 설정하여 매트릭스의 선택 인덱스를 나타낼 수 있습니다. 또는 배열 컨트롤러의 selectedIndex
속성에 바인딩 할 수 있습니다.이 경우 선택 항목은 어레이 컨트롤러에 "저장"됩니다.
달성하려는 목표가 명확하지 않습니다. 나는 당신이 바인딩의 목적을 오해 한 것 같아요. 당신이 설명하는 종류의 조건은 없습니다. value2가 "bla"가 아니면 버튼의 제목은 무엇입니까? 기본적으로 키 경로는 모델 객체의 속성 또는 일련의 속성을 지정합니다. 그게 다야. 단지 속성의 이름을 지정합니다. 이러한 속성의 값에 따라 단추의 바인딩 된 특성 값 (이 경우 제목)이 결정됩니다. –
나는 내가하는 일이 잘못된 길임을 알고있었습니다. 실제로 알기를 원하는 것은 배열 컨트롤러에게 라디오 그룹이 어떤 엔터티를 선택했는지 알려주는 것입니다. xcode 5 인터페이스에서만이 작업을 수행하는 방법에 대한 자습서 또는 예제를 찾을 수 없습니다. 그래서 코드를 쓰지 않고 – Bolic