문제

내 삶을 위해, 나는 계속해서 NSComboBox.

나는 NSComboBoxDataSource 프로토콜 및 구현 :

- (NSInteger)numberOfItemsInComboBox:(NSComboBox *)aComboBox;
- (id)comboBox:(NSComboBox *)aComboBox objectValueForItemAtIndex:(NSInteger)index;

나는 나의 인스턴스를 설정했다 NSComboBox 데이터 소스를 사용 하고이 개체를 소스로 설정하십시오. 그것은 훌륭하게 작동하면 내 구현은 항목 수를 반환하고 반환합니다. NSString 특정 지수에서 항목의 값.

그런 다음 무언가를 선택할 때 무언가를하고 싶다고 결정합니다. 이것은 내 문제가 시작되는 곳입니다. 반복 할 명백한 방법은 없습니다 NSComboBoxDataSource 콤보 상자에서 항목 선택을 처리하는 프로토콜.

그래서, 나는 또한 내 객체를 준수합니다 NSComboBoxDelegate 그리고 구현 :

- (void)comboBoxSelectionDidChange:(NSNotification *)notification;

불행히도,와는 달리 NSTableView 선택시 알림의 객체는입니다 NSComboBox 선택한 항목의 개체가 아닙니다. "Fine"나는 나 자신에게 말할 것이다. NSComboBox 방법:

- (id)objectValueOfSelectedItem;

이것은 선택된 항목을 반환하고 거기에서 갈 수 있습니다. 그러나 그 방법은 usesDataSource 설정되었습니다 NO, 그것은 내 사건이 아닙니다. 내가 이것을 사용할 때 경고가 날아 가기 시작합니다.

그래서 내 질문은, 적절한 처리 방법은 무엇입니까 NSComboBox 데이터 소스를 사용할 때 선택?

도움이 되었습니까?

해결책

나는 당신이 원한다고 생각합니다 indexofSelectectedItem ObjectValueOfSelectedItem 대신. 그런 다음 데이터 소스이므로 자신의 전화를 걸 수 있어야합니다. comboBox:objectValueForItemAtIndex: 방법.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top