UIPickerView를 성공적으로 설정했지만 데이터가 처음 비어있는 경우 대/소문자를 처리하는 가장 좋은 방법이 궁금합니다. 내 현재 반복을 위해 나는 pickerdelegate빈 배열이있는 UIPickerView
flash_cards = NSMutableDictionary *
나는 그것을 이동하려고 할 때마다 단지 논리적 인 indexoutofbounds의 오류를 생성
-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
if ([flash_cards count])
{
return [[flash_cards allKeys] objectAtIndex:row];
}
return @"";
}
위해 다음 코드를 사용합니다. 빈 배열의 대소 문자를 처리하려면 어떻게해야합니까?
편집 : 나는 구현 또한
코드의 한 부분으로
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponen: (NSInteger)component
{
return [flash_cards count];
}
#pragma mark Picker Data Source Methods
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}
** **'NSMutableDictionary'을'사용 STRONG 주 모든 키즈 속성은 위험한 아이디어입니다. 불변 사전의'allKeys' 배열이 매번 같은 순서로 정렬된다는 보장은 없습니다. 'allKeys'를 한 번 호출하여 정렬하고 저장해야합니다. 저장된 배열을 데이터 소스로 사용하십시오. 그런 식으로 누군가가 세 번째 항목을 선택하면 그 저장된 배열의 세 번째 항목은 선택하려는 의미입니다. – NJones