2009-11-28 2 views
3

좋아요, Cocoa Dev Central's "Build a Core Data Application" tutorial을 통해 작업 한 후에는 자습서의 코드와 .nib 파일을 사용하여 내 애플리케이션을 직접 제작하여 실험을 시작했습니다. 전반적으로 나는 그것으로 꽤 잘 관리 해왔다. 그러나 나는 걸림돌을 때린 것 같다.바인딩 Xcode 및 인터페이스 빌더의 MInefield

튜토리얼 에서처럼 두 개의 NSTextView 상자가있는 양식을 만들지 만, 동일한 항목 내의 다른 속성에 연결합니다. 다른 모든 컨트롤은 제대로 작동하고 레코드 사이를 이동할 때 값을 저장/새로 고침합니다 (두 번째 상자에서 해당 값을 저장하지 않으려는 일부 날짜 상자가없는 경우). 튜토리얼의 .nib에 대한 모든 바인딩 설정과 NSArrayController을 확인하여 문제가있는 부분을 확인할 수있었습니다. 첫 번째 텍스트 상자의 잠금을 해제 한 다음 동일한 설정으로 다시 연결하면 갑자기 마법처럼 작동합니다. 그러나 두 번째 상자는 동작하지 않으려 고하고 프로그램을 깨는 데 계속 사용됩니다 (디버거가 나타나서 모든 유형의 변수와 메모리 주소와 솔직하게 내 이해력을 넘어서는 것들을 나열합니다). 다음과 같이

현재 문제가되는 상자가 구성되어

Class: NSTextView 
Value: Bound to `history` 
    Controller Key: selection 
    Model Key Path: `description` 
    Checked: Allows Editing Multiple Values Selection 
    Checked: Conditionally Sets Editable 
    Checked: Raises For Not Applicable Keys 

여기에 무슨 일이 일어나고 있는지에 어떤 통찰력?

답변

0

알았어, 알아 냈어. 속성 이름을 description에서 변경하고 동작을 시작했습니다. 초기 버그 검사가 누락되었다고 컴파일했을 때 그 이름이 뭔가를 촉발시킨 것 같습니다.

+0

'description'은 NSObject에 정의 된 메소드입니다. 속성처럼 행동하도록 재정의하려고하면 아마도 문제의 원인 일 수 있습니다. –