문제

Im indexofSelectectedItem을 사용하여 데이터 소스가있는 NScomBobox의 선택된 인덱스를 얻으려고합니다.

[combobox setUsesDataSource:YES];
[combobox setDataSource:dataSource];
[combobox selectItemAtIndex:1];
int idx =[combobox indexOfSelectedItem];

IDX는 항상 -1을 반환합니다.

인터페이스 빌더에서 nscombobox의 내부 목록을 정의 할 때에도 동일한 결과를 얻습니다.

선택한 인덱스를 검색하는 다른 방법이 있습니까?

도움이 되었습니까?

해결책

당신은 전화를 시도 할 수 있습니다 [combobox numberOfItems]; 목록에 항목이 있는지 확인하기 위해.

또한, 전화 selectItemAtIndex:1 해고해야합니다 nscomboboxSelectionDidChangEnotification 당신이 그것이 바뀌는지 확인할 수 있다는 것을들을 수 있습니다.

편집 1 : 또한 인터페이스 빌더의 Combobox에 대한 "Attributes Inspector"(명령 -1 바로 가기 키)에서 "사용 데이터 소스"를 선택해야 했습니까? 기본적으로 내부 목록을 사용하여 사용하려는 데이터 소스 방법과 충돌합니다.

편집 2 : 그 이전의 의견에 대해 신경 쓰지 마십시오. 코드는 설명합니다.

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