2011-01-16 12 views
32

Mac OS X 용 Cocoa는 Cocoa Binding 기술을 지원하여보기와 모델 사이에 접착제 코드가 필요하지 않습니다.iOS가 Cocoa Bindings를 지원하지 않는 기술적/개념적 이유가 있습니까?

KVO의 KVC 위에 다시 바인딩 코코아 바인딩은 cocotron 소스 코드의 도움으로 가능합니다.

코코아 바인딩이 SDK에 포함되지 않은 기술적 또는 개념적 이유가 있습니까? 성능, 가비지 수집 부족, UI 요소 (예 : UISlider)의 KVC 지원 부족에 대해 생각하고 있습니다. 바탕 화면에

+2

가비지 수집 이전에는 코코아 바인딩이 오래 있었기 때문에이를 배제 할 수 있습니다. –

+4

간단한 (즉 값 변 환기와 같은) 바인딩 메커니즘을 만들었습니다. https://github.com/mruegenberg/objc-utils/tree/master/CoreFoundationAdditions의 NSObject + SimpleBindings를 참조하십시오. 현재 인터페이스 작성기 지원은 없지만 코드를 단순화하는 데 도움이됩니다. – mrueg

답변

7

바인딩이 필요합니다

  1. 모든 적합한 UI 구성 요소를 아이폰 OS에 선택

을 처리하기 위해 자신의 중요한 속성

  • 구현 NSArrayController 인프라에 대한 바인딩을 노출, 포인트 2 이하가 문제의 다중 선택이 가능한 마스터 - 세부보기 레이아웃을 갖는 것은 드문 경우 (그리고 나쁜 UI 디자인 일 수도 있습니다). 이것은 NSArrayController이 실제로 자체적으로 들어오는 곳입니다. 현재 NSArrayController 디자인으로 실용성이 될 jQuery과에 대한

    바인딩은 여러 섹션에 스트레칭하지 않는 등

    포인트 1 타이틀이 유용 할 것입니다. 그러나 모든 UIKit 컨트롤에서 바인딩 지원을 구현하려면 Apple에서 많은 양의 작업이 필요합니다. 나는 그들이 구현하기에 충분히 높은 우선 순위가되지 않는다고 가정합니다.

  • +0

    마이크, 답변 해 주셔서 감사합니다. –

    +2

    이 파티에 늦지 만 NSTreeController를 잊지 마세요. 비록 당신이 할 수 있었 더라면 좋겠지 만 (ba-dum tish). 실제로 그들은 그것을 고쳤다. 그러나 그것은 내가 생각하는 tableview 섹션을 처리 할 수있었습니다. 또한 여러 선택이 현재 편집 모드에서 시뮬레이션됩니다. 터치 인터페이스 (수정 자 키 없음)의 한계를 감안할 때, 우리가 붙어있는 것입니다. 하지만 필자는 필터링 된 목록을 편집하려는 경우 배열 컨트롤러가 iPad에서 마스터 세부 사항으로 훌륭하다고 생각합니다. –

    +4

    Mac OS X 앱의 경우 내 UI에서 확인란과 텍스트 필드에 자주'@ 속성 '을 바인딩합니다 ... iOS에서 할 수있는 것이 좋을 것 같습니다. 나는 애플이 그것을 포함시키지 않은 이유는 그들이 디버깅하기가 어렵 기 때문이라고 느낀다 ... 당신이 코코아 바인딩을 엉망으로 만들 때 얻을 수있는 스택 추적은 SDK 내에서 호출로 가득 차서 알아 내기가 어렵다. 네가 잘못한 짓. – ArtOfWarfare

    관련 문제