2009-12-03 3 views
2

플레이어가 사용자 데이터를 편집 할 수있는 편집 윈도우를 설정 중입니다. 모든 필드가 적절한 핵심 데이터 엔터티 (NSArrayController 통해)에 바인딩 된 편집 폼에 있고 레코드를 호출하는 처리하기 위해 설치된 awakeFromNib 메서드가있어,하지만 무엇을 넣을 지 잘 모르겠습니다. 레코드를 표시하는 메소드코어 데이터에서 특정 레코드 불러 오기

궁극적으로이 목표는 사용자가 항목이 있는지 여부를 응용 프로그램에서 확인하고 테이블에 항목이없는 경우 해당 항목을 만들도록 설정하는 것입니다.

답변

2

NSManagedObject에 직접 바인딩하지 않고 NSObjectController 또는 NSArrayController를 사용해야합니다. 컨트롤러가 바인딩과 함께 제대로 작동하고 데이터가 멋지게 표시되고 변경 사항이 컨트롤러를 통해 NSManagedObject로 전달됩니다.

awakeFromNib에서 컨트롤러가 사용하는 개체를 설정할 수 있습니다. NSArrayController에서 setSelectionIndex:(NSUInteger) index 메시지를 사용하고 비어있는 선택을 피하려면 setAvoidEmptySelection:TRUE 메시지를 보내십시오.

희망이 있습니다.

+0

아, 그늘을 분명히해야했습니다. 배열 컨트롤러에 바인드 된 엔티티와 컨트롤러에 필드에 바인드 된 컨트롤러가 있습니다. 여기 내 목표는 궁극적으로 엔티티에 엔트리가 하나 이상 있는지 확인하여 모든 필드에 '선택 안함'이 나타나지 않도록하는 것입니다. – Kaji

+1

NSArrayController가 인덱스를 사용하여 NSArrayController를 선택하도록 지시 할 수 있으며 아무 것도 선택하지 않도록 지정할 수 있습니다. 설명서를 확인하십시오. –